【发布时间】:2017-10-31 23:44:25
【问题描述】:
在 Tomcat 7.0.41 上使用 log4j2 版本 2.9.1 和以下 log4j2.xml。
使用 -Dlog4j.configurationFile= 构造将配置文件指定给 Tomcat 服务。这两个 appender 被两个不同的 webapps 使用,它们通过以下方式实例化:
Logger loggwe = Logger.getLogger("RollingFile 'name' here");
问题:“dislog”附加程序滚动但从不压缩。
“applog”附加程序按预期压缩。 dislog 配置的其他部分,例如 Pattern,被正确使用,因此每个 webapp 都会相应地使用它的部分。一个不会压缩。
<?xml version="1.0" encoding="UTF-8"?>
<Configuration monitorInterval="60" status="INFO">
<Appenders>
<RollingFile name="dislog" fileName="D:/DocVue/apache-tomcat/webapps/DIS/WEB-INF/logs/dis.log" filePattern="D:/DocVue/apache-tomcat/webapps/DIS/WEB-INF/logs/dis-%d{MM-dd-yy}.%i.log.zip" append="true">
<PatternLayout>
<Pattern>D %-5p %d{MM/dd/yyyy HH:mm:ss.SSS} %m [%t]:%C.%M:%L%n</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true" />
<SizeBasedTriggeringPolicy size="10 MB" />
</Policies>
<DefaultRolloverStrategy max="9" fileIndex="max">
<Delete basePath="D:/DocVue/apache-tomcat/webapps/DIS/WEB-INF/logs">
<IfAny>
<IfLastModified age="30d" />
<IfAccumulatedFileSize exceeds="100 MB" />
</IfAny>
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
<RollingFile name="applog" fileName="D:/DocVue/docvue/WEB-INF/log/docvue.log" filePattern="D:/DocVue/docvue/WEB-INF/log/docvue-%d{MM-dd-yy}.%i.log.zip" append="true">
<PatternLayout>
<Pattern>%-5p %d{MM/dd/yyyy HH:mm:ss.SSS} %m [%t]:%C.%M:%L%n</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true" />
<SizeBasedTriggeringPolicy size="10 MB" />
</Policies>
<DefaultRolloverStrategy max="9" fileIndex="max">
<Delete basePath="D:/DocVue/docvue/WEB-INF/log">
<IfAny>
<IfLastModified age="30d" />
<IfAccumulatedFileSize exceeds="100 MB" />
</IfAny>
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="%-5p %d{MM/dd/yyyy HH:mm:ss.SSS} %m [%t]:%C.%M:%L%n" />
</Console>
</Appenders>
<Loggers>
<Logger name="applog" level="info">
<AppenderRef ref="applog"/>
</Logger>
<Logger name="dislog" level="info">
<AppenderRef ref="dislog"/>
</Logger>
<Root level="info">
<AppenderRef ref="console"/>
</Root>
</Loggers>
</Configuration>
【问题讨论】: