Rails日志记录根本不起作用

时间:2010-11-10 11:59:40

标签: ruby-on-rails logging

我正在尝试轻松记录

logger.error "ERROR!!!"

但/ log目录中的任何日志文件都没有显示任何内容。我试过救出一个例外,但也不例外。

这可能是什么问题?

4 个答案:

答案 0 :(得分:5)

您是否检查过您的production.log文件是否具有适当的权限?尝试在您的production.log文件上运行sudo chmod 0666,这可能是问题所在。

答案 1 :(得分:2)

可能有:

  • 权限问题。在文件上运行“sudo chmod 0666”。 rails通过
  • 启动服务器时会显示此信息
  • rails使用BufferedLogger。尝试“logger.flush”也可以配置它。

“logger.class”说什么?你用的是什么记录器? 是创建的日志文件?它的权限和日志文件夹的权限是什么? 你在webrick(本地?)或乘客等运行服务器?

例如。如果你说“Rails.logger = Logger.new(STDOUT)”那么日志将转到stdout而不是文件。检查一下

答案 2 :(得分:1)

检查Rails.logger的输出。如果显示RailsStdoutLogging::StdoutLogger:0x00007fe3b5bc3540表示您正在登录Shell。通过创建初始化程序将其更改为ActiveSupport::Logger

config/initializer/logger.rb 

Rails.logger = ActiveSupport::Logger.new('log/production.log')

答案 3 :(得分:0)

我在尝试使用logger.debugRAILS_DEFAULT_LOGGER.debug时遇到了类似的问题。

但是,以下工作:

Rails.logger.debug 'hello world'

然后在应用的/log文件夹中查看相应环境的日志。