我正在使用 Rails 2.3.13,在我的 中environments/production.rb
,我有:
config.log_level = :info
RAILS_DEFAULT_LOGGER = SyslogLogger.new('mysite-platform-production')
然而我log/production.log
的却是空的。为什么会这样?
我正在使用 Rails 2.3.13,在我的 中environments/production.rb
,我有:
config.log_level = :info
RAILS_DEFAULT_LOGGER = SyslogLogger.new('mysite-platform-production')
然而我log/production.log
的却是空的。为什么会这样?
您正在实例化 a SyslogLogger
,因此您的日志记录将进入系统日志(在大多数情况下,在 Unix 系统上作为/var/log/syslog中的文件提供)而不是日志文件。您传递给记录器的参数 ( mysite-platform-production ) 是 syslog 使用的标识符,而不是文件名。
如果要记录到日志目录中的文件,则必须按如下方式设置记录器:
RAILS_DEFAULT_LOGGER = Logger.new('log/production.log')
但是:我很确定你实际上不必明确地这样做,但它是由 Rails 默认完成的,所以我建议不要RAILS_DEFAULT_LOGGER
在你的代码中设置,你应该得到一个登录到log/production.log的记录器含蓄...
鉴于您设置记录器的方式,您应该找到一个名为“mysite-platform-production”的文件,而不是 production.log,它将位于项目的根目录中。如果你想在“log/mysite-platform-production.log”中找到它,你必须这样做:
RAILS_DEFAULT_LOGGER = SyslogLogger.new('log/mysite-platform-production.log')