我在heroku上有个小应用。每当我想要查看日志时,我就转到命令行并执行
heroku logs
它只显示了大约100行。是不是没有办法在heroku上查看我们应用程序的完整日志?
我在heroku上有个小应用。每当我想要查看日志时,我就转到命令行并执行
heroku logs
它只显示了大约100行。是不是没有办法在heroku上查看我们应用程序的完整日志?
当前回答
您可以使用Heroku的命令行访问您的日志文件 接口(CLI用法)。
如果Heroku的CLI已经安装,并且你知道你的应用程序名称(比如https://myapp.herokuapp.com/),那么你可以运行以下命令:
heroku logs --tail --app=myapp
您还可以使用以下方法访问实时流中的日志:
heroku logs --source app --tail --app=myapp
如果日志告诉你这样的事情:
npm犯错!这个运行的完整日志可以在下面找到: npm犯错!/ app / .npm / _logs / 2017 - 07 - 11 - t08_29_45_291z debug.log
然后你也可以通过Heroku CLI使用bash终端访问它们:
heroku run bash --app=myapp
less ./.npm/_logs/2017-07-11T08_29_45_291Z-debug.log
其他回答
你需要使用-t或——tail选项,你需要定义你的heroku应用程序名称。
heroku logs -t --app app_name
在你的应用中添加一些免费的Papertrail计划可能是值得的。零配置,你可以获得7天的日志数据,最高可达10MB/天,并且可以通过2天的日志进行搜索。
我建议使用一个插件,我使用Logentries。要使用它,在命令行中运行:
Heroku插件:create logentries:le_tryit
(该命令创建一个免费帐户的插件,但显然你可以升级,如果你想)
Logentries允许您每月保存高达5GB的日志卷。这些信息可以通过他们在过去7天内的命令搜索来搜索,并且有实时警报。
所以回答你的问题,通过使用这个插件,你可以确保你的日志不会再丢失,当你达到1500行,Heroku保存默认情况下。 希望这能有所帮助!祝你有愉快的一天!
更新(感谢dawmail333):
heroku logs -n 1500
或者,活生生地跟踪这些原木
heroku logs -t
Heroku日志文档
如果你需要超过几千行,你可以使用heroku的Syslog排水
或者(旧方法):
$ heroku run rails c
File.open('log/production.log', 'r').each_line { |line| puts line }
在heroku!
$ heroku logs -n 500
更好!
$ heroku logs --tail
引用:http://devcenter.heroku.com/articles/logging
更新
这些不再是附加组件,而是默认功能的一部分:)