Prevent Rails from writing development/test log files
I can't remember the last time I needed to open/read log/development.log
or log/test.log
.
These files usualy just consume disk space unnecessarily (some test.log
files can easily reach more than 1 GB).
After talking to some other developers, all of them agreed they don't use it as well.
So what I've been doing in my projects is adding the following code (note that it'll still display logs through the STDOUT
though):
Rails 4+
config/environments/development.rb
:
ruby# Prevents from writing logs on `log/development.log` logger = ActiveSupport::Logger.new(STDOUT) logger.formatter = config.log_formatter config.logger = ActiveSupport::TaggedLogging.new(logger)
config/environments/test.rb
:
ruby# Prevents from writing logs on `log/test.log` config.log_level = :warn logger = ActiveSupport::Logger.new(STDOUT) logger.formatter = config.log_formatter config.logger = ActiveSupport::TaggedLogging.new(logger)
Rails 3
config/environments/development.rb
:
ruby# Prevents from writing logs on `log/development.log` logger = ::Logger.new(STDOUT) config.logger = ActiveSupport::TaggedLogging.new(logger) # Replace `config.active_support.deprecation = :log` with: config.active_support.deprecation = :stderr
config/environments/test.rb
:
ruby# Prevents from writing logs on `log/test.log` config.log_level = :warn logger = ::Logger.new(STDOUT) config.logger = ActiveSupport::TaggedLogging.new(logger)
Ps.: I've sent a suggestion to rubyonrails-core mailing list to make it default from next Rails versions, let's see their thoughts.