【发布时间】:2026-01-03 19:40:01
【问题描述】:
我正在使用 log4j 1.x(带有 slf4j)。日志轮换是工作文件,但它不会清除轮换的日志。
这是log4.xml的内容——
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
<appender name="app1" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="${catalina.home}/logs_folder/webint.log"/>
<param name="Append" value="true"/>
<param name="MaxBackupIndex" value="24"/>
<param name="immediateFlush" value="true"/>
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<param name="ConversionPattern" value="%d{yyyy-MM-dd}-%t-%x-%-5p-%-10c:%m%n" />
</appender>
<root>
<level value="INFO" />
<appender-ref ref="app1"/>
</root>
</log4j:configuration>
由于某种原因,生成了 300 多个文件,而不是 24 个文件。每个日志文件的大小从 150MB 到 350MB 不等,并且每小时轮换一次。
在 pom.xml 中,
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.12.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.25</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
依赖树:
\- org.slf4j:slf4j-log4j12:jar:1.7.25:compile
\- log4j:log4j:jar:1.2.16:compile (version managed from 1.2.17)
我需要了解 -
- 为什么在 MaxBackupIndex 设置时会生成超过 24 个文件 提到24?
- 由于我没有指定任何MaximumFileSize, 不应该 默认 10MB?
【问题讨论】:
标签: java logging log4j rollingfileappender log-rotation