当前位置:  开发笔记 > 前端 > 正文

Heroku日志记录无效

如何解决《Heroku日志记录无效》经验,为你挑选了2个好方法。

我在Heroku Cedar上部署了一个rails 3.1应用程序.我遇到了日志记录问题.默认的rails日志工作正常,但是当我执行以下操作时:

logger.info "log this message"

在我的控制器中,Heroku不会记录任何内容.当我部署我的应用程序时,我看到heroku消息"注入rails_log_stdout"所以我认为调用记录器应该可以正常工作.将语句放在我的日志中.我也尝试过其他日志级别,如logger.error.什么都行不通.有没有人见过这个?



1> Phil Calvin..:

MBHNYC的答案非常有用,但它很难在不改变代码的情况下更改不同环境中的日志级别.您可以在您的代码中使用此代码environments/production.rb来表示环境变量并具有合理的默认值:

# https://github.com/ryanb/cancan/issues/511
config.logger = Logger.new(STDOUT)
config.logger.level = Logger.const_get((ENV["LOG_LEVEL"] || "INFO").upcase)

使用此命令设置不同的日志级别:

heroku config:set LOG_LEVEL=error



2> MBHNYC..:

我只是遇到了同样的问题,通过使用这里的技术解决了:

https://github.com/ryanb/cancan/issues/511

基本上,你需要指定记录器输出到STDOUT,一些宝石干扰记录器并且似乎劫持了功能(在我的情况下可以扫描).

对于懒惰的点击,只需将其放在environment/production.rb中

config.logger = Logger.new(STDOUT) 
config.log_level = :info


Heroku的支持让我处于类似的方向.以下是他们声称导致此问题的宝石列表:acts_as_audited,on_the_spot,restful_jsonp,authlogic,cancan,simple-navigation
推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有