提交 5f34bd61 编写于 作者: J José Valim

As the other constants, RAILS_DEFAULT_LOGGER no more.

上级 c4e3344a
......@@ -32,11 +32,6 @@
module Rails
autoload :Bootstrap, 'rails/bootstrap'
# Needs to be duplicated from Active Support since its needed before Active
# Support is available. Here both Options and Hash are namespaced to prevent
# conflicts with other implementations AND with the classes residing in Active Support.
# ---
# TODO: w0t?
class << self
def application
@@application ||= nil
......@@ -48,7 +43,7 @@ def application=(application)
# The Configuration instance used to configure the Rails environment
def configuration
application.configuration
application.config
end
def initialize!
......@@ -56,19 +51,19 @@ def initialize!
end
def initialized?
@initialized || false
@@initialized || false
end
def initialized=(initialized)
@initialized ||= initialized
@@initialized ||= initialized
end
def logger
if defined?(RAILS_DEFAULT_LOGGER)
RAILS_DEFAULT_LOGGER
else
nil
end
@@logger ||= nil
end
def logger=(logger)
@@logger = logger
end
def backtrace_cleaner
......
......@@ -69,28 +69,23 @@ def initialize(application)
end
initializer :initialize_logger do
# if the environment has explicitly defined a logger, use it
next if Rails.logger
unless logger = config.logger
begin
logger = ActiveSupport::BufferedLogger.new(config.log_path)
logger.level = ActiveSupport::BufferedLogger.const_get(config.log_level.to_s.upcase)
if Rails.env.production?
logger.auto_flushing = false
end
rescue StandardError => e
logger = ActiveSupport::BufferedLogger.new(STDERR)
logger.level = ActiveSupport::BufferedLogger::WARN
logger.warn(
"Rails Error: Unable to access log file. Please ensure that #{config.log_path} exists and is chmod 0666. " +
"The log level has been raised to WARN and the output directed to STDERR until the problem is fixed."
)
end
Rails.logger ||= config.logger || begin
logger = ActiveSupport::BufferedLogger.new(config.log_path)
logger.level = ActiveSupport::BufferedLogger.const_get(config.log_level.to_s.upcase)
logger.auto_flushing = false if Rails.env.production?
logger
rescue StandardError => e
logger = ActiveSupport::BufferedLogger.new(STDERR)
logger.level = ActiveSupport::BufferedLogger::WARN
logger.warn(
"Rails Error: Unable to access log file. Please ensure that #{config.log_path} exists and is chmod 0666. " +
"The log level has been raised to WARN and the output directed to STDERR until the problem is fixed."
)
logger
end
# TODO: Why are we silencing warning here?
silence_warnings { Object.const_set "RAILS_DEFAULT_LOGGER", logger }
# TODO: Wrap it in a deprecation proxy
silence_warnings { Object.const_set "RAILS_DEFAULT_LOGGER", Rails.logger }
end
# Sets the logger for Active Record, Action Controller, and Action Mailer
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册