我在heroku上有个小应用。每当我想要查看日志时,我就转到命令行并执行
heroku logs
它只显示了大约100行。是不是没有办法在heroku上查看我们应用程序的完整日志?
我在heroku上有个小应用。每当我想要查看日志时,我就转到命令行并执行
heroku logs
它只显示了大约100行。是不是没有办法在heroku上查看我们应用程序的完整日志?
当前回答
你可以使用 Heroku log -n 1500
但这并不是一个推荐的方法(换句话说,并没有向您展示真实的情况)
我建议你插上一些日志工具。(sumoLogic,书面记录等)作为附加组件
它们都有一个免费版本(限制很少,但对于一个小的应用程序或开发环境足够了,这将提供很好的洞察力和工具来分析日志)
其他回答
如果你的代码是python, 您可以使用heroku3 pip库来访问Heroku应用程序的日志。 首先,您需要通过运行来安装库。 PIP安装heroku3
然后,您可以使用以下代码访问您的日志: 进口heroku3
# Connect to the Heroku API
conn = heroku3.from_key('YOUR_API_KEY')
# Get the app you want to access logs for
app = conn.app('YOUR_APP_NAME')
# Access the logs
logs = app.logs().stream()
# Print the logs
for line in logs:
print(line)
请确保将YOUR_API_KEY和YOUR_APP_NAME替换为应用程序的适当值。
此外,你还可以使用heroku日志——尾巴 在你的命令行中输入Heroku应用程序的日志流。确保你已经登录并有权访问该应用程序。
我更喜欢这样做
heroku logs --tail | tee -a herokuLogs
您可以让脚本在后台运行,并且可以随时按照您想要的方式从文本文件中过滤日志。
您可以使用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
更新(感谢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
更新
这些不再是附加组件,而是默认功能的一部分:)