log4j2(2.6.2)配置不删除旧日志文件

时间:2017-10-20 13:39:59

标签: log4j2

我有以下log4j2 xml配置,我用它来记录TRACE和DEBUG级别的消息。

<Configuration status="WARN" packages="" monitorInterval="300">
  <Properties> 
    <Property name="log-path">/logs/webapp</Property> 
  </Properties> 

  <Appenders>
    <RollingFile name="TRACE" append="true" immediateFlush="true" fileName="${log-path}/trace.log" filePattern="${log-path}/trace.log.%d{MM-dd-yyyy}">
      <PatternLayout>
        <pattern>%d{DEFAULT}: %-20C{1} : %m%n</pattern>
      </PatternLayout>
      <Policies>
        <TimeBasedTriggeringPolicy />
      </Policies>
      <DefaultRolloverStrategy>
        <Delete basePath="${log-path}" maxDepth="1">
          <IfFileName glob="*/trace.log.*" />
          <IfLastModified age="14d" />
        </Delete>
      </DefaultRolloverStrategy>
    </RollingFile>

    <RollingFile name="DETAIL" append="true" immediateFlush="true" fileName="${log-path}/detail.log" filePattern="${log-path}/detail.log.%d{MM-dd-yyyy}">
      <PatternLayout> 
        <pattern>%d{DEFAULT}: %-20C{1} : %m%n</pattern> 
      </PatternLayout> 
      <Policies> 
        <TimeBasedTriggeringPolicy /> 
      </Policies> 
      <DefaultRolloverStrategy max="15"/> 
    </RollingFile>
  </Appenders>

  <Loggers>
    <Root level="trace">
      <AppenderRef ref="TRACE" level="trace"/>
      <AppenderRef ref="DETAIL" level="debug"/>
    </Root>
  </Loggers>
</Configuration>

此配置的目的是删除14天及更早的跟踪日志文件,但情况并非如此。我的系统上还有很多旧的跟踪日志文件,最老的是trace.log.11-02-2016

我知道log4j2中的文件删除问题直到版本2.5和2.5引入了删除配置元素,但我使用的是2.6.2。

有没有人遇到过这种情况并且能够通过实施版本更新或配置更改来使其工作?

0 个答案:

没有答案