Java Jetty access日志写入.tmp文件
我观察到的问题: 在一天中的任意时间,日志开始进入.tmp文件Java Jetty access日志写入.tmp文件,java,logging,jetty,logback,Java,Logging,Jetty,Logback,我观察到的问题: 在一天中的任意时间,日志开始进入.tmp文件 access.log6732547707051856.tmp(它有从00:00:00到00:00:01的日志,我想在发生滚动时这是可以接受的)和access.log6844458502795078.tmp是两个有日志的文件 记录器继续登录到最新的tmp文件。我观察到一个例子,它在早上6点左右开始写入.tmp文件,然后继续在那里写入。 这将在下一次滚动时停止,即00:00:00(午夜),此时access.log文件被压缩。在此之后,.
access.log6732547707051856.tmp
(它有从00:00:00到00:00:01的日志,我想在发生滚动时这是可以接受的)和access.log6844458502795078.tmp
是两个有日志的文件
记录器继续登录到最新的tmp文件。我观察到一个例子,它在早上6点左右开始写入.tmp文件,然后继续在那里写入。
这将在下一次滚动时停止,即00:00:00(午夜),此时access.log文件被压缩。在此之后,.tmp文件仍然保留
RequestLogImpl requestLog = new RequestLogImpl();
requestLog.setFileName("logback-access.xml");
requestLogHandler.setRequestLog(requestLog);
logback access.xml
已关闭
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>/var/log/service/package/access-%d{yyyy-MM-dd}.log.gz</fileNamePattern>
<maxHistory>10</maxHistory>
</rollingPolicy>
/var/log/service/package/access-%d{yyyy-MM-dd}.log.gz
10
这是一个带有logback实现的开放bug,通常在滚动与gzip/压缩层结合时出现
<appender ..
<file>${catalina.base}/logs/app-info.log</file>
100MB
...
我们遇到了同样的问题。关于如何解决这个问题有什么想法吗?@Tuanitim禁用gzip压缩有效。我们禁用了它,并通过更频繁的备份减少了maxHistory。谢谢。嗯,禁用gzip压缩并不是我们所期望的,对吧?@Tuanitim-yup。禁用压缩是“修复”此问题的一种令人伤心的方式。但在问题解决之前,要么如此,要么丢失日志
<appender ...
<rollingPolicy ...
<fileNamePattern>logs/app-info-%d{yyyy-MM-dd,UTC}-%i.log.gz</fileNamePattern>
<appender name="RollingFile"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${catalina.base}/logs/app-info.log</file>
<!-- daily rollover -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${catalina.base}/logs/app-info-%d{yyyy-MM-dd,UTC}-%i.log.gz</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- or whenever the file size reaches 100MB -->
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
...
</appender>