2016-01-18 11:15:10 -05:00
|
|
|
# Be sure to restart your server when you modify this file.
|
|
|
|
|
|
|
|
require 'gitlab/current_settings'
|
|
|
|
|
2017-10-02 20:52:19 -04:00
|
|
|
def configure_sentry
|
2016-01-20 03:48:38 -05:00
|
|
|
# allow it to fail: it may do so when create_from_defaults is executed before migrations are actually done
|
|
|
|
begin
|
2017-08-31 05:47:03 -04:00
|
|
|
sentry_enabled = Gitlab::CurrentSettings.current_application_settings.sentry_enabled
|
2016-01-20 03:48:38 -05:00
|
|
|
rescue
|
|
|
|
sentry_enabled = false
|
|
|
|
end
|
2016-01-18 11:15:10 -05:00
|
|
|
|
2016-01-20 03:48:38 -05:00
|
|
|
if sentry_enabled
|
|
|
|
Raven.configure do |config|
|
2017-08-31 05:47:03 -04:00
|
|
|
config.dsn = Gitlab::CurrentSettings.current_application_settings.sentry_dsn
|
2018-05-24 03:57:54 -04:00
|
|
|
config.release = Gitlab.revision
|
2016-12-05 20:05:06 -05:00
|
|
|
|
2016-04-28 17:08:23 -04:00
|
|
|
# Sanitize fields based on those sanitized from Rails.
|
|
|
|
config.sanitize_fields = Rails.application.config.filter_parameters.map(&:to_s)
|
2016-10-04 10:35:41 -04:00
|
|
|
# Sanitize authentication headers
|
|
|
|
config.sanitize_http_headers = %w[Authorization Private-Token]
|
2019-01-16 08:29:05 -05:00
|
|
|
config.tags = { program: Gitlab.process_name }
|
2019-03-15 15:28:00 -04:00
|
|
|
# Debugging for https://gitlab.com/gitlab-org/gitlab-ce/issues/57727
|
|
|
|
config.before_send = lambda do |event, hint|
|
|
|
|
if ActiveModel::MissingAttributeError === hint[:exception]
|
|
|
|
columns_hash = ActiveRecord::Base
|
|
|
|
.connection
|
|
|
|
.schema_cache
|
|
|
|
.instance_variable_get(:@columns_hash)
|
|
|
|
.map { |k, v| [k, v.map(&:first)] }
|
|
|
|
.to_h
|
|
|
|
|
|
|
|
event.extra.merge!(columns_hash)
|
|
|
|
end
|
|
|
|
|
|
|
|
event
|
|
|
|
end
|
2016-01-20 03:48:38 -05:00
|
|
|
end
|
2016-01-18 11:15:10 -05:00
|
|
|
end
|
|
|
|
end
|
2017-10-02 20:52:19 -04:00
|
|
|
|
2018-12-05 15:54:40 -05:00
|
|
|
configure_sentry if Rails.env.production? || Rails.env.development?
|