1

文档说:

$ cf logs APP_NAME --recent 显示 Loggregator 缓冲区中的所有行。

这个缓冲区有多大?我可以自己改吗?

4

2 回答 2

4

免责声明:我不为 Swisscom 工作,所以我不知道他们的平台是如何配置的。也就是说,我相信我仍然可以回答您的问题。

这个缓冲区有多大?

我相信您要查找的doppler.maxRetainedLogMessages值默认为 100。

https://github.com/cloudfoundry/loggregator/wiki/Loggregator-Component-Properties

也就是说,我认为缓冲的行数无关紧要。最近的日志功能纯粹是为了方便,并不意味着日志存储。如果您尝试以需要具体了解缓冲量的方式使用它,那么您可能使用错了,应该考虑使用不同的选项。

--recent缓冲区可能不够大的几个常见情况和解决方案:

场景 1:您正在排除故障(可能是应用程序启动或阶段失败)并且cf logs --recent没有向您显示足够的信息。

在第二个终端运行cf logs并重复您的操作。这将向您显示本地保存在您的机器上的整个日志输出。您还可以重定向到带有cf logs <app> > some-file.log.

场景 2:您正在运行一个生产应用程序。

您将需要在持续且可预测的时间内进行可靠的日志存储。在这种情况下,您需要设置日志消耗,以便将您的日志发送到平台之外的某个地方以进行长期存储。

https://docs.cloudfoundry.org/devguide/services/log-management.html#user-provided

如果您有其他情况,请随时添加评论。可能有一种不同/更好的方法来处理它。

我可以自己改吗?

我上面提到的设置是由您的平台运营商配置的。

希望有帮助!

于 2017-08-14T12:44:12.443 回答
0

感谢Daniel Mikusa的见解和有用的解释。我可以确认 Swisscom Application Cloud 使用默认值。

引用我们的部署清单:

  loggregator:
    (...)
    maxRetainedLogMessages: 100
    outgoing_dropsonde_port: 8081
于 2017-08-18T10:45:00.800 回答