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