java - logj4 的备份文件每日滚动限制

标签 java log4j log4j2

我使用 log4j2 进行日志记录。我需要每日记录并保留 5 天日志的备份。我的 log4j2.xml 如下所示。尽管我将数量限制为 5,但我的备份文件数量仍在不断增加。我哪里出了问题?

    <?xml version="1.0" encoding="UTF-8"?>
    <Configuration status="trace" monitorInterval="300">
    <Appenders>

  <RollingFile name="roll-by-time-and-size"
  fileName="C:\\Users\\ann\\logs\\testing.log"
  filePattern="C:\\Users\\ann\\logs\\testing.%d{MM-dd-yyyy}.log.gz"
  ignoreExceptions="false">
    <PatternLayout>
        <Pattern>%d{yyyy-MM-dd HH:mm:ss} %p %m%n</Pattern>
    </PatternLayout>
    <Policies>
        <TimeBasedTriggeringPolicy/>


    </Policies>
    <DefaultRolloverStrategy max="5"/>
    <!-- <DefaultRolloverStrategy>
        <Delete basePath="C:\\Users\\ann\\logs" maxDepth="1">
            <IfFileName glob="C:\\Users\\ann\\logs\\test.*.log.gz" />
            <IfLastModified age="3" />
        </Delete>
    </DefaultRolloverStrategy> -->
</RollingFile>

    <Console name="Console" target="SYSTEM_OUT">
      <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n">
      </PatternLayout>
    </Console>


  </Appenders>
  <Loggers>   

    <Root level="ALL">
      <AppenderRef ref="roll-by-time-and-size"/>
       <AppenderRef ref="Console"/> 
    </Root>
  </Loggers>
</Configuration>

最佳答案

考虑使用delete规则而不是max

关于java - logj4 的备份文件每日滚动限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50002939/

相关文章:

hibernate - 从我的 SystemOut.log 文件中重定向 hibernate 错误

java - log4j V2 中 log4j.properties 的内容并格式化记录器输出(例如添加时间戳)

java - 如何使用 MDC 在 log4j2 中动态创建日志文件名

java - ZK 在单个项目中使用多个 webapp

java - quartz cron 计划输出不符合预期

java - Espresso 测试中的 NoClassDefFoundError

java - 导入org.apache.log4j无法解析

java - 如何创建可变数量的变量?

java - 使用处理存储从串行连接读取的 Arduino 数据

java - Log4J模板模式转换