如何更改我的log4j2.xml滚动文件设置

2022-04-12 00:00:00 logging java log4j log4j2
我正在尝试通过几处修改来修改log4j2.xml文件,但无法成功。以下是我当前的版本:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" name="MyApp" packages="">
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%msg%n" />
        </Console>
        <RollingFile name="RollingFile" fileName="logs/mylog.log"  filePattern="logs/mylog-%d{MM-dd-yyyy}-%i.log" append="false">
     <PatternLayout>
           <Pattern>%d{yyyy-MM-dd HH:mm:ss} %p [%t] %m%n</Pattern>
         </PatternLayout>
         <Policies>
          <TimeBasedTriggeringPolicy />
          <SizeBasedTriggeringPolicy size="1 MB"/>
        </Policies>
        <DefaultRolloverStrategy max="2"/>
      </RollingFile>
    </Appenders>
    <Loggers>
        <Root level="debug">
            <AppenderRef ref="Console" />
            <AppenderRef ref="RollingFile" />
        </Root>
    </Loggers>
</Configuration>

我不想每天保存2个文件。我只需要2个备份文件一直,否则我的日志每天都会增加!我尝试从文件名中删除日期模式,但收到错误:filePattern="logs/mylog-%i.log"不起作用。


解决方案

我终于想明白了。

如您所见,我的<Policies>列表中有一个空的<TimeBasedTriggeringPolicy />标记,它强制在filePattern文件名中进行日期检查。一旦我把它取下来,它就开始正常工作了!

相关文章