amazon-web-services - AWS Elastic Beanstalk 日志轮换
问题描述
我在 AWS Elastic Beanstalk 上运行 Java 应用程序(Java 8 在 64 位 Amazon Linux/2.7.4 上运行)默认情况下,Java 应用程序记录到 STDOUT,Elastic Beanstalk 自动将 STDOUT 存储在 /var/log/web-1.log 中。这按预期工作。
有关Elastic Beanstalk 如何捕获和存储 STDOUT 的更多信息,请参阅https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-se-procfile.html 。
在 web-1.log 文件达到一定大小后,它会旋转到 /var/log/rotated/web-1.logXXX.gz。但是,一旦发生这种情况,原始 web-1.log 文件将被清除(预期),并且不会向该文件写入更多日志消息(未预期)。所有未来的日志消息似乎都直接转到旋转日志目录中的文件。
有什么想法可能导致这种情况吗?我没有对 Elastic Beanstalk 处理日志轮换的方式进行任何更改。
解决方案
Elastic Beanstalk 实例(至少我正在使用的实例)运行 logrotate 守护程序。也许您可以通过将配置文件放入来配置它/etc/logrotate.d
?
空日志的问题可能是日志旋转时的陈旧文件句柄?有关如何处理该问题的一些示例,请参见此答案。
推荐阅读
- asp.net-mvc-5 - Sustainsys.Saml2 OWIN access_denied 和日志记录
- node.js - 如何使用 SQS sendMessageBatch() 发送超过 10 条消息?
- c - c中的分割
- java - 使用 Java 中的特定区域将 LocalDateTime 转换为 LocalDateTime
- python - 如何使用来自用户的输入进行“while”循环?
- spring-boot - Spring Boot Post 存储库不保存任何新数据
- javascript - 关于使用扩展和字符串操作,foreach 循环的一点说明
- c++ - 一个使用链表 C++ 的简单工资系统
- ssl - 如何在 Digital Ocean OpenLiteSpeed 服务器上删除或编辑 SSL 证书
- python - 在 Qtext 编辑中格式化文本