我在heroku上有个小应用。每当我想要查看日志时,我就转到命令行并执行
heroku logs
它只显示了大约100行。是不是没有办法在heroku上查看我们应用程序的完整日志?
我在heroku上有个小应用。每当我想要查看日志时,我就转到命令行并执行
heroku logs
它只显示了大约100行。是不是没有办法在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 }
其他回答
在你的应用中添加一些免费的Papertrail计划可能是值得的。零配置,你可以获得7天的日志数据,最高可达10MB/天,并且可以通过2天的日志进行搜索。
要查看详细的日志,需要在产品中放入两行。rb文件:
config.logger = Logger.new(STDOUT)
config.logger.level = Logger::DEBUG
然后通过跑步
heroku logs -t
您可以查看详细的日志。
跟随Heroku记录
要查看您的日志,我们有:
Logs命令默认检索100行日志。
希罗库日志
显示最多200行,——num(或-n)选项。
Heroku log -n 200
实时显示日志
Heroku原木——尾巴
如果你在heroku上有很多应用程序
Heroku日志——应用your_app_name
我更喜欢这样做
heroku logs --tail | tee -a herokuLogs
您可以让脚本在后台运行,并且可以随时按照您想要的方式从文本文件中过滤日志。
我的解决方案是在应用程序第一次启动时获得完整的日志,例如:
heroku logs -n 1500 > log
然后添加fgrep -vf使其保持最新,例如:
heroku logs -n 1500 > newlog ; fgrep -vf log newlog >> log
对于连续日志,只需每x分钟(或秒)使用watch迭代一次。