Rails 服务器在自定义环境中不显示日志输出

问题描述 投票:0回答:2

我创建了一个名为“superdev”的新环境,就像开发一样。

# environments/superdev.rb
require Rails.root.join("config/environments/development")

问题是,当我执行

RAILS_ENV=superdev rails server
时,我没有得到任何日志输出。即使我设置了
config.log_level = :debug

我已将 Gemfile 组设置为包含

superdev
,创建了数据库,并且环境工作正常。只是没有日志输出。给什么?

ruby-on-rails logging development-environment
2个回答
2
投票

您可能需要启用日志记录到 STDOUT。您可以使用环境变量或

rails server
命令的选项:

RAILS_LOG_TO_STDOUT=true rails server -e <your-env>

rails server -e <your-env> --log-to-stdout=true

仅在

development
环境中默认启用记录到 STDOUT,对于其他环境需要显式启用。


0
投票

从rails 5.2.2开始,默认开启开发环境登录功能。

建议在生产中也启用日志记录,并检查了 Rails 7.2.2,这是使用此指令默认设置的:rails 7.2.2 production.rb STDOUT config

对于您的情况,在您的 superdev.rb (您环境的配置文件)中,我建议您包含此配置:

config.logger = ActiveSupport::Logger.new(STDOUT)
                                   .tap  { |logger| logger.formatter = ::Logger::Formatter.new }
                                   .then { |logger| ActiveSupport::TaggedLogging.new(logger) }
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.