我在heroku上有个小应用。每当我想要查看日志时,我就转到命令行并执行
heroku logs
它只显示了大约100行。是不是没有办法在heroku上查看我们应用程序的完整日志?
我在heroku上有个小应用。每当我想要查看日志时,我就转到命令行并执行
heroku logs
它只显示了大约100行。是不是没有办法在heroku上查看我们应用程序的完整日志?
当前回答
我的解决方案是在应用程序第一次启动时获得完整的日志,例如:
heroku logs -n 1500 > log
然后添加fgrep -vf使其保持最新,例如:
heroku logs -n 1500 > newlog ; fgrep -vf log newlog >> log
对于连续日志,只需每x分钟(或秒)使用watch迭代一次。
其他回答
好吧,上面的答案是非常有用的,它将帮助您从命令行查看。但是如果你想从GUI检查,你必须登录你的Heroku账户,然后选择你的应用程序,最后点击查看日志
我遇到了这样的情况,在我的应用程序的仪表板中,当我打开:
More >查看日志
我不会得到输出,只是挂起…
所以我做了一个谷歌,发现了这个:
Heroku CLI插件列出和创建Heroku应用程序的构建。
我安装并运行:
heroku builds -a example-app /* Lists 10 most recently created builds for example-app, that's where you get the id for the next step*/
然后输入:
heroku builds:output your-app-id-number -a example-app
就是这样,您应该会得到通常在仪表板GUI或本地看到的内容。
希望这能帮助到像我一样的人!
如果你的代码是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应用程序的日志流。确保你已经登录并有权访问该应用程序。
更新(感谢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 }
WAR文件:
我没有使用github,而是直接上传了一个WAR文件(我发现这更容易和更快)。
因此,以下几点帮助了我:
heroku logs --app appname
希望它能帮助到一些人。