Merge pull request #3624 from consul/add_errbit_support

Add support for Errbit self-hosted exception management
This commit is contained in:
Javier Martín
2020-08-27 16:53:27 +02:00
committed by GitHub
5 changed files with 49 additions and 1 deletions

View File

@@ -5,6 +5,7 @@ gem "rails", "5.1.7"
gem "acts-as-taggable-on", "~> 6.5.0"
gem "acts_as_votable", "~> 0.11.1"
gem "ahoy_matey", "~> 1.6.0"
gem "airbrake", "~> 5.0"
gem "ancestry", "~> 3.0.7"
gem "audited", "~> 4.9.0"
gem "autoprefixer-rails", "~> 8.2.0"

View File

@@ -63,6 +63,9 @@ GEM
safely_block (>= 0.1.1)
user_agent_parser
uuidtools
airbrake (5.8.1)
airbrake-ruby (~> 1.8)
airbrake-ruby (1.8.0)
airbrussh (1.4.0)
sshkit (>= 1.6.1, != 1.7.0)
akami (1.3.1)
@@ -621,6 +624,7 @@ DEPENDENCIES
acts-as-taggable-on (~> 6.5.0)
acts_as_votable (~> 0.11.1)
ahoy_matey (~> 1.6.0)
airbrake (~> 5.0)
ancestry (~> 3.0.7)
audited (~> 4.9.0)
autoprefixer-rails (~> 8.2.0)

View File

@@ -0,0 +1,31 @@
Airbrake.configure do |config|
config.host = Rails.application.secrets.errbit_host
config.project_id = Rails.application.secrets.errbit_project_id
config.project_key = Rails.application.secrets.errbit_project_key
config.environment = Rails.env
config.ignore_environments = %w[development test]
config.ignore_environments += [Rails.env] if Rails.application.secrets.errbit_project_id.blank?
end
Airbrake.add_filter do |notice|
ignorables = %w[ActiveRecord::RecordNotFound]
notice.ignore! if ignorables.include? notice[:errors].first[:type]
end
if Rails.application.secrets.errbit_self_hosted_ssl.present?
# Patch from: https://mensfeld.pl/2016/05/setting-up-errbit-reporter-airbrake-v5-gem-to-work-with-self-signed-https-certificate/
module Patches
module Airbrake
module SyncSender
def build_https(uri)
super.tap do |req|
req.verify_mode = OpenSSL::SSL::VERIFY_NONE
end
end
end
end
end
Airbrake::SyncSender.prepend(::Patches::Airbrake::SyncSender)
end

View File

@@ -7,7 +7,7 @@ Rollbar.configure do |config|
# Here we'll disable all environments except 'staging', 'preproduction' and 'production':
if Rails.env.staging? || Rails.env.preproduction? || Rails.env.production?
config.enabled = true
config.enabled = Rails.application.secrets.rollbar_server_token.present?
else
config.enabled = false
end

View File

@@ -43,6 +43,10 @@ staging:
# :enable_starttls_auto: true
force_ssl: true
delay_jobs: true
errbit_host: ""
errbit_project_key: ""
errbit_project_id: 1
errbit_self_hosted_ssl: false
rollbar_server_token: ""
http_basic_username: ""
http_basic_password: ""
@@ -66,6 +70,10 @@ preproduction:
# :enable_starttls_auto: true
force_ssl: true
delay_jobs: true
errbit_host: ""
errbit_project_key: ""
errbit_project_id: 1
errbit_self_hosted_ssl: false
rollbar_server_token: ""
http_basic_username: ""
http_basic_password: ""
@@ -94,6 +102,10 @@ production:
# :enable_starttls_auto: true
force_ssl: true
delay_jobs: true
errbit_host: ""
errbit_project_key: ""
errbit_project_id: 1
errbit_self_hosted_ssl: false
rollbar_server_token: ""
http_basic_username: ""
http_basic_password: ""