我在heroku上有个小应用。每当我想要查看日志时,我就转到命令行并执行
heroku logs
它只显示了大约100行。是不是没有办法在heroku上查看我们应用程序的完整日志?
我在heroku上有个小应用。每当我想要查看日志时,我就转到命令行并执行
heroku logs
它只显示了大约100行。是不是没有办法在heroku上查看我们应用程序的完整日志?
当前回答
你需要有一些日志排水实现,应该排水你的日志,以查看所有的日志(管理历史日志以及):
第一个选择- Splunk可以使用:你可以排出你所有的日志,如:
heroku drains:add syslog+tls://splunk-server.com:514 -a app_name
然后登录到splunk服务器,搜索任意数量的日志。我正在使用Splunk,这对我来说是完美的。
第二个选项-你可以购买添加到你的应用程序,如下所示:(我没有使用这些选项,但这些是可用的)。 Timber.io 相扑逻辑 LogEnteries 日志DNA Papertrail
你也可以看看下面的选项:如果你想拥有你的 JSON格式的日志,因为它将有助于如果您的日志推送到 外部系统,如Splunk/ELK,它将变得容易(性能 明智的也)搜索JSON。
https://github.com/goodeggs/heroku-log-normalizer
它不是拥有Readme。Md,但是在https://github.com/goodeggs/bites/issues/20上有一些解释
最后
你可以一直使用下面的命令,正如其他用户已经提到的:
下面的命令将跟踪heroku上的生成日志
heroku logs -t -a <app_name>
下面的命令将显示来自heroku的1000行日志
heroku logs -n 1000 -a <app_name>
注意,只有1500行最新的日志可用,其余的将从heroku dyno中删除。
其他回答
我更喜欢这样做
heroku logs --tail | tee -a herokuLogs
您可以让脚本在后台运行,并且可以随时按照您想要的方式从文本文件中过滤日志。
更新(感谢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 logs -t显示了活动日志。
要查看详细的日志,需要在产品中放入两行。rb文件:
config.logger = Logger.new(STDOUT)
config.logger.level = Logger::DEBUG
然后通过跑步
heroku logs -t
您可以查看详细的日志。
你可以使用 Heroku log -n 1500
但这并不是一个推荐的方法(换句话说,并没有向您展示真实的情况)
我建议你插上一些日志工具。(sumoLogic,书面记录等)作为附加组件
它们都有一个免费版本(限制很少,但对于一个小的应用程序或开发环境足够了,这将提供很好的洞察力和工具来分析日志)