当前位置: 首页 > 知识库问答 >
问题:

日志文件在每日滚动期间未清除旧日志条目

濮阳君浩
2023-03-14

我们在Apache Tomcat上使用log4j2.3。我们最近从log4j1.2升级到log4j2.0。除了一个问题,它工作得很好。我们使用RollingFile Appender每天滚动日志文件。正如预期的那样,文件会在午夜之后滚动,但是当前日志文件不会清除前一天的日志条目。我们最终得到了一个日志文件,它的大小不断增加,并且包含了所有前几天的条目。

这是我们的滚动文件Appender配置:

有什么想法吗?

共有2个答案

范志勇
2023-03-14

您缺少默认的翻转策略。https://logging.apache.org/log4j/2.x/manual/appenders.html#DefaultRolloverStrategy

商俊智
2023-03-14

发现以下JIRA似乎也描述了我看到的问题:https://issues.apache.org/jira/browse/LOG4J2-904?jql=project=LOG4J2和分辨率=按优先级描述的未解析顺序

此外,采用了以下问题中描述的解决方案,并对其进行了轻微更改,以在翻滚后覆盖该文件,从而解决了我的问题:

Log4j2 RollingFile Appender-在每个日志文件的开头添加自定义信息

 类似资料:
  • 使用Log4j2.8,有没有一种方法可以让我的日志每天旋转,但使当前文件具有恒定的名称? 示例: 我尝试了以下配置,但没有成功: 此外,当我在某一天首次启动应用程序时,我会遇到以下例外情况:

  • 我目前正在使用log4j2为我的web应用程序编写日志。我已经配置了一个滚动文件追加器,可以在每晚午夜滚动。 我的log4j2.xml如下: 目前,这会写入名为application.log的日志,然后在午夜将当前的application.log文件复制到application yyy-MM-DD . log(文件名中的日期会被正确替换),并在第二天继续在application.log中记录日志。

  • 我在SpringBoot中使用logback,但无法删除旧的日志文件。 我在logback-spring.xml文件中定义了以下appender: 即使我设置了“MaxHistory”和“CleanHistoryonStart”,超过10天的日志文件也不会被删除。既不是翻转也不是启动。

  • 我希望由log4j2创建的日志文件在其文件名中包含日期模式,包括当前活动文件。也就是说,如果今天的日期是2016-12-15,我希望当前日志文件是lager-2016-12-15.log。当日期改变时,我希望创建一个名为lager-2016-12-16.log的新文件。 使用,我无法使当前活动日志文件的文件名中具有日期模式。我的log4j2.xml: 使用此配置,翻转时的复制被搞乱了。从fileN

  • 我最近一直在使用log4j2,遇到了一个问题。发生翻转时,活动日志文件保留其日志。是否可以清除日志文件,以便滚动的文件将只保留日志在名称中指定的时间段?

  • 我在研究这个问题时发现的几乎所有内容都是针对Log4J1.x的,并讨论了一个似乎在2.0中不存在的datePattern参数。 下面是我的log4j2.xml文件: 我正在将信息和以上内容写入日志文件,并将调试写入控制台(目前)。这些文件被写得很好,但它们似乎每天都在滚动(这似乎是默认的)。