diff options
author | yuuji.yaginuma <yuuji.yaginuma@gmail.com> | 2018-03-24 14:17:19 +0900 |
---|---|---|
committer | yuuji.yaginuma <yuuji.yaginuma@gmail.com> | 2019-06-05 11:19:15 +0900 |
commit | 689b371a52c8c0ea15d82d5268647707cce27cef (patch) | |
tree | 2b81e8f1f1060c18f1bab6a519b8d09421ed0403 /railties/lib/rails | |
parent | 4cb0ce2e794f42c144629834d6f82cf5f21fcb75 (diff) | |
download | rails-689b371a52c8c0ea15d82d5268647707cce27cef.tar.gz rails-689b371a52c8c0ea15d82d5268647707cce27cef.tar.bz2 rails-689b371a52c8c0ea15d82d5268647707cce27cef.zip |
Extract default log file open operation to method
This allows customize a default log file(e.g. `reopen`) by an application.
Fixes #32211.
Diffstat (limited to 'railties/lib/rails')
-rw-r--r-- | railties/lib/rails/application/bootstrap.rb | 12 | ||||
-rw-r--r-- | railties/lib/rails/application/configuration.rb | 12 |
2 files changed, 14 insertions, 10 deletions
diff --git a/railties/lib/rails/application/bootstrap.rb b/railties/lib/rails/application/bootstrap.rb index 50685a4d7a..1fdc7b2d71 100644 --- a/railties/lib/rails/application/bootstrap.rb +++ b/railties/lib/rails/application/bootstrap.rb @@ -34,20 +34,12 @@ module Rails # Initialize the logger early in the stack in case we need to log some deprecation. initializer :initialize_logger, group: :all do Rails.logger ||= config.logger || begin - path = config.paths["log"].first - unless File.exist? File.dirname path - FileUtils.mkdir_p File.dirname path - end - - f = File.open path, "a" - f.binmode - f.sync = config.autoflush_log # if true make sure every write flushes - - logger = ActiveSupport::Logger.new f + logger = ActiveSupport::Logger.new(config.default_log_file) logger.formatter = config.log_formatter logger = ActiveSupport::TaggedLogging.new(logger) logger rescue StandardError + path = config.paths["log"].first logger = ActiveSupport::TaggedLogging.new(ActiveSupport::Logger.new(STDERR)) logger.level = ActiveSupport::Logger::WARN logger.warn( diff --git a/railties/lib/rails/application/configuration.rb b/railties/lib/rails/application/configuration.rb index 0b758dd3dd..da1c433e52 100644 --- a/railties/lib/rails/application/configuration.rb +++ b/railties/lib/rails/application/configuration.rb @@ -311,6 +311,18 @@ module Rails end end + def default_log_file + path = paths["log"].first + unless File.exist? File.dirname path + FileUtils.mkdir_p File.dirname path + end + + f = File.open path, "a" + f.binmode + f.sync = autoflush_log # if true make sure every write flushes + f + end + class Custom #:nodoc: def initialize @configurations = Hash.new |