Tomcat 8 中的 log4j2:意外的日志轮换

Tomcat 8 中的 log4j2:意外的日志轮换

Apache Tomcat/8.0.32 (Ubuntu)我尝试修复在上运行的 webapp 中使用 log4j2 的日志轮换问题Ubuntu 16.04.4(请参阅相关 stackoverflow 问题). Tomcat 运行于OracleJRE 1.8.0_181.

我将完整的 Apache Tomcat 安装从 Tomcat 的实现java.utils.logging(Tomcat JULI)切换到 log4j2:Log4j 应用服务器集成

它运行正常,但我遇到了影响 webapp 的问题,现在也影响了 Tomcat。日志文件似乎在午夜被轮换并用 gzip 打包,但没有创建新的日志文件。日志文件写入/var/log/tomcat8/

我认为这是一个轮换日志文件的系统进程,而不是 Tomcat 错误。服务器使用systemd,其中systemd-tmpfiles-clean.timer已激活并rsyslog.service启用并正在运行。

是否轮换日志文件或另一个系统进程是否轮换日志?如果是,我如何从进程的日志轮换中systemd-tmpfiles-clean.timer排除目录?/var/log/tomcat8/

编辑:logrotate 配置文件

/etc/logrotate.conf

# use the syslog group by default, since this is the owning group
# of /var/log/syslog.
su root syslog

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# uncomment this if you want your log files compressed
#compress

# packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp, or btmp -- we'll rotate them here
/var/log/wtmp {
    missingok
    monthly
    create 0664 root utmp
    rotate 1
}

/var/log/btmp {
    missingok
    monthly
    create 0660 root utmp
    rotate 1
}

/etc/logrotate.d/tomcat8

/var/log/tomcat8/catalina.out {
  copytruncate
  weekly
  rotate 52
  compress
  missingok
  create 640 tomcat8 adm
}

编辑:管理员重新配置了 logrotate(不幸的是没有解释他做了什么)并且这个问题消失了。

相关内容