我在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 -t显示了活动日志。

您可以使用Heroku的命令行访问您的日志文件 接口(CLI用法)。

如果Heroku的CLI已经安装,并且你知道你的应用程序名称(比如https://myapp.herokuapp.com/),那么你可以运行以下命令:

heroku logs --tail --app=myapp

您还可以使用以下方法访问实时流中的日志:

heroku logs --source app --tail --app=myapp

如果日志告诉你这样的事情:

npm犯错!这个运行的完整日志可以在下面找到: npm犯错!/ app / .npm / _logs / 2017 - 07 - 11 - t08_29_45_291z debug.log

然后你也可以通过Heroku CLI使用bash终端访问它们:

heroku run bash --app=myapp
less ./.npm/_logs/2017-07-11T08_29_45_291Z-debug.log

在heroku!

$ heroku logs -n 500

更好!

$ heroku logs --tail

引用:http://devcenter.heroku.com/articles/logging

更新

这些不再是附加组件,而是默认功能的一部分:)

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

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

如果你的代码是python, 您可以使用heroku3 pip库来访问Heroku应用程序的日志。 首先,您需要通过运行来安装库。 PIP安装heroku3

然后,您可以使用以下代码访问您的日志: 进口heroku3

# Connect to the Heroku API
conn = heroku3.from_key('YOUR_API_KEY')

# Get the app you want to access logs for
app = conn.app('YOUR_APP_NAME')

# Access the logs
logs = app.logs().stream()

# Print the logs
for line in logs:
    print(line)

请确保将YOUR_API_KEY和YOUR_APP_NAME替换为应用程序的适当值。

此外,你还可以使用heroku日志——尾巴 在你的命令行中输入Heroku应用程序的日志流。确保你已经登录并有权访问该应用程序。