diff --git a/Gemfile b/Gemfile index d9b88036..e0a68d96 100644 --- a/Gemfile +++ b/Gemfile @@ -62,6 +62,7 @@ gem 'dnsbl-client' gem 'minfraud' gem 'image_optimizer' # apt install optipng jpegoptim pngquant gem 'rubyzip', require: 'zip' +gem 'airbrake' group :development, :test do gem 'pry' diff --git a/Gemfile.lock b/Gemfile.lock index 2828c3ac..37843b5d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -31,6 +31,10 @@ GEM adequate_crypto_address (0.1.9) base58 (~> 0.2) keccak (~> 1.3) + airbrake (13.0.4) + airbrake-ruby (~> 6.0) + airbrake-ruby (6.2.2) + rbtree3 (~> 0.6) ansi (1.5.0) base58 (0.2.3) base64 (0.2.0) @@ -240,6 +244,7 @@ GEM rb-fsevent (0.11.2) rb-inotify (0.10.1) ffi (~> 1.0) + rbtree3 (0.7.1) redis (5.0.8) redis-client (>= 0.17.0) redis-client (0.19.1) @@ -351,6 +356,7 @@ DEPENDENCIES activesupport addressable (>= 2.8.0) adequate_crypto_address + airbrake bcrypt capybara certified diff --git a/config.ru b/config.ru index f07d875b..12906064 100644 --- a/config.ru +++ b/config.ru @@ -1,6 +1,9 @@ require 'rubygems' require './app.rb' require 'sidekiq/web' +require 'airbrake/sidekiq' + +use Airbrake::Rack::Middleware map('/') do use(Rack::Cache, diff --git a/environment.rb b/environment.rb index 2d1db38c..f1185d8e 100644 --- a/environment.rb +++ b/environment.rb @@ -187,3 +187,16 @@ Minfraud.configure do |c| c.license_key = $config['minfraud_license_key'] c.enable_validation = true end + + +Airbrake.configure do |c| + c.project_id = $config['airbrake_project_id'] + c.project_key = $config['airbrake_project_key'] +end + +Airbrake.add_filter do |notice| + if notice[:params][:password] + # Filter out password. + notice[:params][:password] = '[Filtered]' + end +end \ No newline at end of file