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 notifydeprecation.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.
[RW] | debug | Whether to print a backtrace along with the warning. |
Returns the current behavior or if one isn't set, defaults to
:stderr
.
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 notifydeprecation.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) {
# custom stuff
}