提交 6ca6c5de 编写于 作者: J Jeremy Kemper

set ActiveSupport::Deprecation.debug = true to see backtraces for deprecation...

set ActiveSupport::Deprecation.debug = true to see backtraces for deprecation callers. off by default. on for Rails tests.

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4964 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
上级 25ea18aa
require 'yaml'
module ActiveSupport
module Deprecation
mattr_accessor :debug
self.debug = false
# Choose the default warn behavior according to RAILS_ENV.
# Ignore deprecation warnings in production.
DEFAULT_BEHAVIORS = {
'test' => Proc.new { |message| $stderr.puts message },
'development' => Proc.new { |message| RAILS_DEFAULT_LOGGER.warn message },
'test' => Proc.new { |message, callstack|
$stderr.puts(message)
$stderr.puts callstack.join("\n ") if debug
},
'development' => Proc.new { |message, callstack|
RAILS_DEFAULT_LOGGER.warn message
RAILS_DEFAULT_LOGGER.debug callstack.join("\n ") if debug
}
}
class << self
def warn(message = nil, callstack = caller)
behavior.call(deprecation_message(callstack, message)) if behavior && !silenced?
behavior.call(deprecation_message(callstack, message), callstack) if behavior && !silenced?
end
def default_behavior
......@@ -85,7 +96,7 @@ def assert_not_deprecated(&block)
def collect_deprecations
old_behavior = ActiveSupport::Deprecation.behavior
deprecations = []
ActiveSupport::Deprecation.behavior = Proc.new do |message|
ActiveSupport::Deprecation.behavior = Proc.new do |message, callstack|
deprecations << message
end
yield
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册