我在heroku上有个小应用。每当我想要查看日志时,我就转到命令行并执行

heroku logs

它只显示了大约100行。是不是没有办法在heroku上查看我们应用程序的完整日志?


当前回答

我的解决方案是在应用程序第一次启动时获得完整的日志,例如:

heroku logs -n 1500 > log

然后添加fgrep -vf使其保持最新,例如:

heroku logs -n 1500 > newlog ; fgrep -vf log newlog >> log

对于连续日志,只需每x分钟(或秒)使用watch迭代一次。

其他回答

更新(感谢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

更新

这些不再是附加组件,而是默认功能的一部分:)

有关雪松堆叠参见:

https://devcenter.heroku.com/articles/oneoff-admin-ps

你需要运行:

Heroku run bash…

您可以使用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

WAR文件:

我没有使用github,而是直接上传了一个WAR文件(我发现这更容易和更快)。

因此,以下几点帮助了我:

heroku logs --app appname

希望它能帮助到一些人。