文档说:
$ cf logs APP_NAME --recent
显示 Loggregator 缓冲区中的所有行。
这个缓冲区有多大?我可以自己改吗?
免责声明:我不为 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
如果您有其他情况,请随时添加评论。可能有一种不同/更好的方法来处理它。
我可以自己改吗?
我上面提到的设置是由您的平台运营商配置的。
希望有帮助!
感谢Daniel Mikusa的见解和有用的解释。我可以确认 Swisscom Application Cloud 使用默认值。
引用我们的部署清单:
loggregator:
(...)
maxRetainedLogMessages: 100
outgoing_dropsonde_port: 8081