我在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中删除。

其他回答

WAR文件:

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

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

heroku logs --app appname

希望它能帮助到一些人。

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

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

heroku logs --source app -t

或者只查看路由器日志

heroku logs --ps router

或者把它们串在一起

heroku logs --source app --ps worker

太好了. .

你可以使用 Heroku log -n 1500

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

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

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

要查看详细的日志,需要在产品中放入两行。rb文件:

config.logger = Logger.new(STDOUT)
config.logger.level = Logger::DEBUG

然后通过跑步

heroku logs -t

您可以查看详细的日志。

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

第一个选择- 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中删除。