当出现问题时,heroku日志是检查应用程序发生了什么的绝佳资源。不幸的是,它们还记录了大量信息。有什么方法可以只为错误消息过滤日志吗?
答案 0 :(得分:18)
试试这个:
heroku logs -t | grep 'error'
获取错误的运行列表。
'error'
周围的引号为我做了。
答案 1 :(得分:10)
heroku logs | grep -i error
您还可以安装New Relic插件,该插件会报告详细的错误跟踪。我也听说过Loggly的好消息。
答案 2 :(得分:2)
我个人认为日志不是最好看的地方,因为错误和细节很容易错过。我会确保我的代码将错误提升到外部位置,以确保它们不会错过。
有许多选项,从简单的ExceptionNotifier到更高级的系统,例如Airbrake(这是我自己使用的)。
这些不仅会通知您错误,而且还会为您提供一堆可以使用的元信息。
答案 3 :(得分:1)
答案 4 :(得分:0)
看看一些日志插件 - 我使用PaperTrail取得了很大的成功,但其他像Loggly和Progstr Logging将提供类似的服务。
基本上你将日志排入他们的服务中,他们提供了对你的日志进行实时搜索的能力,然后你可以处理它 - 大多数会通过篝火,电子邮件,短信或简单的HTTP帖子提供某种通知进入其他一些应用程序来处理错误信息。
答案 5 :(得分:0)
用于检查heroku控制台中的所有日志
config.logger = Logger.new(STDOUT) config.logger.level = Logger :: DEBUG
将这两行放在运行heroku app的环境中(例如production.rb)
如果有的话,您也可以查看详细日志。
答案 6 :(得分:0)
不要忘记--app标志。例如
heroku日志--app my-live-app | grep -i错误
我发现有用的是-d参数:设置日志的类型,例如-d网站 当您有工作人员在后台运行任务并且只想查看Web发生了什么时,这很好。
否则,@ leonardoborges说的我同意。 NewRelic或类似产品可以很好地工作。