summaryrefslogtreecommitdiff
path: root/config/initializers/0_log_deprecations.rb
diff options
context:
space:
mode:
Diffstat (limited to 'config/initializers/0_log_deprecations.rb')
-rw-r--r--config/initializers/0_log_deprecations.rb45
1 files changed, 0 insertions, 45 deletions
diff --git a/config/initializers/0_log_deprecations.rb b/config/initializers/0_log_deprecations.rb
deleted file mode 100644
index b3ef391053e..00000000000
--- a/config/initializers/0_log_deprecations.rb
+++ /dev/null
@@ -1,45 +0,0 @@
-# frozen_string_literal: true
-
-def log_deprecations?
- via_env_var = Gitlab::Utils.to_boolean(ENV['GITLAB_LOG_DEPRECATIONS'])
- # enable by default during development unless explicitly turned off
- via_env_var.nil? ? Rails.env.development? : via_env_var
-end
-
-# Add `:notify` behavior only if not already added.
-#
-# See https://github.com/Shopify/deprecation_toolkit/blob/1d0e6f5b99785806f715ce2e9a13dc50f453d1e1/lib/deprecation_toolkit.rb#L21
-def add_notify_behavior
- notify = ActiveSupport::Deprecation::DEFAULT_BEHAVIORS.fetch(:notify)
- behaviors = ActiveSupport::Deprecation.behavior
-
- return if behaviors.find { |behavior| behavior == notify }
-
- ActiveSupport::Deprecation.behavior = behaviors << notify
-end
-
-if log_deprecations?
- # Log deprecation warnings emitted through Kernel#warn, such as from gems or
- # the Ruby VM.
- actions = {
- /.+is deprecated$/ => lambda do |warning|
- Gitlab::DeprecationJsonLogger.info(message: warning.strip, source: 'ruby')
- # Returning :default means we continue emitting this to stderr as well.
- :default
- end
- }
-
- Warning.process('', actions)
-
- # We may have silenced deprecations warnings in 00_deprecations.rb on production.
- # Unsilence them again.
- ActiveSupport::Deprecation.silenced = false
-
- # If we want to consume emitted warnings from Rails we need to attach a notifier first.
- add_notify_behavior
-
- # Log deprecation warnings emitted from Rails (see ActiveSupport::Deprecation).
- ActiveSupport::Notifications.subscribe('deprecation.rails') do |name, start, finish, id, payload|
- Gitlab::DeprecationJsonLogger.info(message: payload[:message].strip, source: 'rails')
- end
-end