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

heroku logs

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


当前回答

你需要使用-t或——tail选项,你需要定义你的heroku应用程序名称。

heroku logs -t --app app_name

其他回答

另请参阅单独的流/过滤器。

例如,只跟踪您的应用程序日志

heroku logs --source app -t

或者只查看路由器日志

heroku logs --ps router

或者把它们串在一起

heroku logs --source app --ps worker

太好了. .

你需要有一些日志排水实现,应该排水你的日志,以查看所有的日志(管理历史日志以及):

第一个选择- 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 -t显示了活动日志。 Heroku日志-n 1500表示日志数量

但我仍然建议使用纸质记录插件,它有一定的好处,并有免费的基本计划。

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

希望它能帮助到一些人。