lib/lumber/railtie.rb in lumber-1.1.2 vs lib/lumber/railtie.rb in lumber-1.1.3
- old
+ new
@@ -15,19 +15,26 @@
Lumber.setup_logger_hierarchy("ActionController::Base", "rails::controllers")
Lumber.setup_logger_hierarchy("ActionMailer::Base", "rails::mailers")
end
app.config.logger = Lumber.find_or_create_logger(Lumber::BASE_LOGGER)
- config_level = app.config.log_level
- if config_level.present?
- level_str = config_level.to_s.upcase
- level = Log4r::LNAMES.index(level_str)
- raise "Invalid log level: #{config_level}" unless level
- app.config.logger.level = level
- else
+ # backwards compat for setting log_level to '' to defer to log4r.yml
+ # log_level needs to be set for rails >= 4.0.2
+ if app.config.log_level.blank?
app.config.log_level = Log4r::LNAMES[app.config.logger.level]
end
end
+ end
+
+ initializer "lumber.set_logger_level", :after => :initialize_logger do |app|
+ # Set the level on logger to workaround rails forcing level
+ # to a ::Logger constant in the :initialize_logger initializer
+ # https://github.com/rails/rails/issues/13421
+ config_level = app.config.log_level
+ level_str = config_level.to_s.upcase
+ level = Log4r::LNAMES.index(level_str)
+ raise "Invalid log level: #{config_level}" unless level
+ app.config.logger.level = level
end
initializer "lumber.initialize_cache", :after => :initialize_cache do |app|
# Only set the cache to Rails.cache if the user hasn't
# specified a different monitor_store