降低 AWS EC2 的日志轮换频率

Sit*_*ati 5 log4j amazon-ec2 amazon-web-services amazon-elastic-beanstalk

我有一个在弹性beanstalk上运行的java应用程序,设置了到S3的日志轮换并且工作正常。但是,我发现我的 catalina.out 日志文件在滚动到新文件之前最多只存在 15 分钟,这使得同一天的调试问题变得更加乏味(从 s3 获取 gz 并解压缩,而不是仅仅 ssh-ing 和读取日志文件)。

有什么方法可以通过 tomcat/log4j 或 elastic-beanstalk 控制台进行配置吗?我相信这是 AWS 的事情,因为我们在 Dotcloud 上部署了相同的应用程序,并且它每天保留一个日志文件。

Ric*_*ico 3

截至今天,情况并非如此。您唯一可以做的就是修改运行应用程序的 EC2 实例中的文件 /etc/logrotate.conf.elasticbeanstalk。

更改日志的大小,这应该将更多日志信息放入一个文件中:

/var/log/tomcat6/catalina.out /var/log/tomcat6/monitor_catalina.log /var/log/tomcat6/tail_catalina.log {
    size 20M <-- change to the file size that you want
    missingok
    rotate 2
    compress
    notifempty
    copytruncate
    dateext
    dateformat -%s
    lastaction
        /bin/chown tomcat:elasticbeanstalk /var/log/tomcat6/*gz; /bin/chmod 664 /var/log/tomcat6/*gz
    endscript
}
Run Code Online (Sandbox Code Playgroud)

这里还有另一篇文章提供了更多信息:

使用 log4j 和 Elastic Beanstalk 轮换 S3 日志记录