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

heroku logs

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


当前回答

你可以使用 Heroku log -n 1500

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

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

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

其他回答

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

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 }

WAR文件:

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

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

heroku logs --app appname

希望它能帮助到一些人。

我建议使用一个插件,我使用Logentries。要使用它,在命令行中运行:

Heroku插件:create logentries:le_tryit

(该命令创建一个免费帐户的插件,但显然你可以升级,如果你想)

Logentries允许您每月保存高达5GB的日志卷。这些信息可以通过他们在过去7天内的命令搜索来搜索,并且有实时警报。

所以回答你的问题,通过使用这个插件,你可以确保你的日志不会再丢失,当你达到1500行,Heroku保存默认情况下。 希望这能有所帮助!祝你有愉快的一天!

Heroku logs -t显示了活动日志。