我有一个Rails 3应用程序。 使用默认日志记录配置时,我发出类似
的命令logger.warn "some message"
记录器消息显示在控制台和日志中。
现在我向production.rb添加一行
config.logger = Logger.new(Rails.root.join("log","biteme.log"))
记录器消息未出现在控制台中,仅出现在日志中。 然后我改为:
config.logger = Logger.new(config.paths.log.first)
现在消息出现在控制台和日志中。这里有一些我不知道的知识,因为第一个配置省略了进入控制台的日志消息是没有意义的。有什么想法吗?
答案 0 :(得分:0)
Rails实际上现在使用ActiveSupport::BufferedLogger
而不是ruby的标准Logger
类。
尝试制作该类的自定义记录器,看看它是否有效:
config.logger = ActiveSupport::BufferedLogger.new(Rails.root.join("log","biteme.log"))
答案 1 :(得分:0)
最后归结为问题的根源。我使用的是与Heroku中的日志冲突的jasonp gem。在本地,没有问题(当然)但从Heroku运行,日志消息没有出现。当我删除那个gem时 - 日志消息出现在Heroku上。 我现在是一个快乐的露营者。