Log to stdout in development and production.

Always log to stdout instead of logging to files in `log/{development,production}.log`.

For development, logging to files wasn't really useful, and could
generate multi-gigabyte log files if you weren't paying attention. For
production, most systems these days (such as Docker and Systemd) prefer
that you write your logs to stdout so they can manage them.

Fixes the Docker image writing logs inside the container, which never
got rotated and could fill up the container.
This commit is contained in:
evazion
2021-03-29 02:27:59 -05:00
parent 12436c4aa9
commit 6404aa9aa9
2 changed files with 7 additions and 5 deletions

View File

@@ -64,6 +64,10 @@ Rails.application.configure do
# Uncomment if you wish to allow Action Cable access from any origin.
# config.action_cable.disable_request_forgery_protection = true
logger = ActiveSupport::Logger.new(STDOUT)
logger.formatter = config.log_formatter
config.logger = ActiveSupport::TaggedLogging.new(logger)
BetterErrors::Middleware.allow_ip!(IPAddr.new("0.0.0.0/0"))
BetterErrors::Middleware.allow_ip!(IPAddr.new("::/0"))

View File

@@ -76,11 +76,9 @@ Rails.application.configure do
# require "syslog/logger"
# config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name')
if ENV["RAILS_LOG_TO_STDOUT"].present?
logger = ActiveSupport::Logger.new(STDOUT)
logger.formatter = config.log_formatter
config.logger = ActiveSupport::TaggedLogging.new(logger)
end
logger = ActiveSupport::Logger.new(STDOUT)
logger.formatter = config.log_formatter
config.logger = ActiveSupport::TaggedLogging.new(logger)
# Do not dump schema after migrations.
config.active_record.dump_schema_after_migration = false