Rails production.log文件为空

我正在使用Rails 2.3.13,在我的environments/production.rb ,我有:

 config.log_level = :info RAILS_DEFAULT_LOGGER = SyslogLogger.new('mysite-platform-production') 

然而我的log/production.log是空的。 那为什么会这样?

您正在实例化SyslogLogger ,因此您的日志记录将进入syslog(在大多数情况下可用作Unix系统上/ var / log / syslog中的文件)而不是日志文件。 传递给记录器的参数( mysite-platform-production )是syslog使用的标识符,而不是文件名。

如果要登录日志目录中的文件,则必须按如下方式设置记录器:

 RAILS_DEFAULT_LOGGER = Logger.new('log/production.log') 

但是:我很确定你实际上不必明确地这样做,但它默认是由Rails完成的,所以我建议你RAILS_DEFAULT_LOGGER在你的代码中设置RAILS_DEFAULT_LOGGER ,你应该得到一个登录日志/生产的记录器。记录隐含地…

鉴于您如何设置记录器,您应该找到一个名为“mysite-platform-production”的文件, 而不是production.log ,它将位于项目的根目录中。 如果你想在’log / mysite-platform-production.log’中找到它,你将不得不这样做:

 RAILS_DEFAULT_LOGGER = SyslogLogger.new('log/mysite-platform-production.log')