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

heroku logs

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


当前回答

如果你的代码是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 --source app -t

或者只查看路由器日志

heroku logs --ps router

或者把它们串在一起

heroku logs --source app --ps worker

太好了. .

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

在你的应用中添加一些免费的Papertrail计划可能是值得的。零配置,你可以获得7天的日志数据,最高可达10MB/天,并且可以通过2天的日志进行搜索。

我遇到了这样的情况,在我的应用程序的仪表板中,当我打开:

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或本地看到的内容。

希望这能帮助到像我一样的人!

你可以使用 Heroku log -n 1500

但这并不是一个推荐的方法(换句话说,并没有向您展示真实的情况)

我建议你插上一些日志工具。(sumoLogic,书面记录等)作为附加组件

它们都有一个免费版本(限制很少,但对于一个小的应用程序或开发环境足够了,这将提供很好的洞察力和工具来分析日志)