我们最近将log4j2-beta9迁移到log4j2-2.0版本。 我们正面临着翻转文件的问题。
第一期: 翻转文件不会压缩,只保留.log文件。
第二个问题: 活动文件未被清除。日志会不断添加到同一文件中,从而增加文件大小。
请找到我的log4j2.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j2config [
<!ENTITY appenders SYSTEM "#USER_INSTALL_DIR#/wwf/config/properties/log4j2-appenders.xml">
<!ENTITY loggers SYSTEM "#USER_INSTALL_DIR#/wwf/config/properties/log4j2-loggers.xml">
]>
<configuration monitorInterval="30" status="debug">
<properties>
<property name="log4j2.logDir">.</property>
<property name="logDir">${sys:log4j2.logDir}</property>
<property name="log4j2.filePrefix">default</property>
<property name="filePrefix">${sys:log4j2.filePrefix}</property>
</properties>
<appenders>
<RollingFile name="Default" fileName="${logDir}/${filePrefix}.log"
filePattern="${logDir}/${filePrefix}/${filePrefix}-%d{MM-dd-yyyy}-%i.log.gz">
<PatternLayout charset="UTF-8" pattern="%d %-5p [%t] %c %m [%M:%L %X] %n"/>
<Policies>
<SizeBasedTriggeringPolicy size="1 MB"/>
</Policies>
<DefaultRolloverStrategy max="200"/>
</RollingFile>
<Console name="Console" target="SYSTEM_ERR">
<PatternLayout charset="UTF-8" pattern="%d %-5p [%t] %c %m [%M:%L %X] %n"/>
</Console>
&appenders;
</appenders>
<loggers>
<logger name="SYSTEM_OUT" level="info" additivity="false">
<appender-ref ref="Default" />
<appender-ref ref="Console" />
</logger>
<logger name="SYSTEM_ERR" level="error" additivity="false">
<appender-ref ref="Default" />
<appender-ref ref="Console" />
</logger>
<logger name="com.abc" level="debug" additivity="false">
<appender-ref ref="Default"/>
</logger>
<logger name="com.xyz" level="debug" additivity="false">
<appender-ref ref="Default"/>
</logger>
<logger name="com.abcdef" level="debug" additivity="false">
<appender-ref ref="Default"/>
</logger>
<logger name="com.abcdef.commons" level="debug" additivity="false">
<appender-ref ref="Default"/>
</logger>
<logger name="org.springframework" level="warn" additivity="false">
<appender-ref ref="Default"/>
</logger>
<root level="error">
<appender-ref ref="Console"/>
</root>
&loggers;
</loggers>
</configuration>
答案 0 :(得分:1)
出现此问题是因为群集设置中的节点1也表现为管理服务器。但是管理服务器和节点1的JVM是不同的。这两个JVM都使用相同的文件appserver.log进行日志记录。但是,管理服务器不会向日志文件添加任何内容。尽管如此,它仍然锁定了appserver.log。因此,appserver.log没有被清除。
因此,在您的设置中,检查appserver.log是否因某种原因被锁定。
在我们的案例中,我们通过为管理服务器创建虚拟appserver.log来解决此问题。这样我们的日志文件就不会被锁定。
答案 1 :(得分:0)
您是否尝试将<TimeBasedTriggeringPolicy />
添加到<RollingFile>...<Policies>
部分?您目前只有基于大小的触发策略,但您的filePattern有一个日期。
此外,您的配置有一个奇怪的字符串&appenders;
- 您应该删除它。
</Console>
&appenders;
</appenders>
类似记录器:
</root>
&loggers;
</loggers>