Behavior module allows to determine how to display deprecation messages. You can create a custom behavior or set any from the DEFAULT_BEHAVIORS constant. Available behaviors are:
raise Raise ActiveSupport::DeprecationException.
stderr Log all deprecation warnings to +$stderr+.
log Log all deprecation warnings to Rails.logger.
notify Use ActiveSupport::Notifications to notify deprecation.rails.
silence Do nothing.
Setting behaviors only affects deprecations that happen after boot time. For more information you can read the documentation of the behavior= method.
Whether to print a backtrace along with the warning.
# File activesupport/lib/active_support/deprecation/behaviors.rb, line 66 def behavior @behavior ||= [DEFAULT_BEHAVIORS[:stderr]] end
Returns the current behavior or if one isn't set, defaults to :stderr.
# File activesupport/lib/active_support/deprecation/behaviors.rb, line 91
def behavior=(behavior)
@behavior = Array(behavior).map { |b| DEFAULT_BEHAVIORS[b] || arity_coerce(b) }
end Sets the behavior to the specified value. Can be a single value, array, or an object that responds to call.
Available behaviors:
raise Raise ActiveSupport::DeprecationException.
stderr Log all deprecation warnings to +$stderr+.
log Log all deprecation warnings to Rails.logger.
notify Use ActiveSupport::Notifications to notify deprecation.rails.
silence Do nothing.
Setting behaviors only affects deprecations that happen after boot time. Deprecation warnings raised by gems are not affected by this setting because they happen before Rails boots up.
ActiveSupport::Deprecation.behavior = :stderr
ActiveSupport::Deprecation.behavior = [:stderr, :log]
ActiveSupport::Deprecation.behavior = MyCustomHandler
ActiveSupport::Deprecation.behavior = ->(message, callstack, deprecation_horizon, gem_name) {
# custom stuff
}
© 2004–2019 David Heinemeier Hansson
Licensed under the MIT License.