From 5f34bd61b0a49478ddf6a9a69654b8e56f0f20d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Tue, 12 Jan 2010 12:52:09 +0100 Subject: As the other constants, RAILS_DEFAULT_LOGGER no more. --- railties/lib/rails/bootstrap.rb | 35 +++++++++++++++-------------------- 1 file changed, 15 insertions(+), 20 deletions(-) (limited to 'railties/lib/rails/bootstrap.rb') diff --git a/railties/lib/rails/bootstrap.rb b/railties/lib/rails/bootstrap.rb index 3808695f10..99a5ddeb8a 100644 --- a/railties/lib/rails/bootstrap.rb +++ b/railties/lib/rails/bootstrap.rb @@ -69,28 +69,23 @@ module Rails 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 -- cgit v1.2.3