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.rb | 21 ++++++++------------- railties/lib/rails/bootstrap.rb | 35 +++++++++++++++-------------------- 2 files changed, 23 insertions(+), 33 deletions(-) (limited to 'railties/lib') diff --git a/railties/lib/rails.rb b/railties/lib/rails.rb index c21434a100..5f7e595d64 100644 --- a/railties/lib/rails.rb +++ b/railties/lib/rails.rb @@ -32,11 +32,6 @@ end 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 @@ module Rails # The Configuration instance used to configure the Rails environment def configuration - application.configuration + application.config end def initialize! @@ -56,19 +51,19 @@ module Rails 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 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