【发布时间】:2019-02-21 10:42:04
【问题描述】:
我的 Java 项目包含以下包 - com.main.log4j.main , com.main.log4j.other.
根据我的要求,我必须从控制台中排除包“com.main.log4j.other”的所有日志行并创建一个新的日志文件“OTHER_LOG.log”
下面的 config.xml 工作正常。
现在,我想,如果它(“OTHER_LOG.log”)超过一定的大小,比如说 1 MB,它将创建新文件,将以前的文件保留为备份,但带有时间戳。
例如,“OTHER_LOG.20190221155085.log”
这就是我添加“rollingPolicy”、“triggeringPolicy”的原因。
但它给出警告 -
log4j:WARN Unrecognized element rollingPolicy
log4j:WARN Unrecognized element triggeringPolicy
<appender name="CONSOLE-LOG" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="..." />
</layout>
</appender>
<appender name="OTHER-LOG"
class="org.apache.log4j.FileAppender">
<param name="Threshold" value="DEBUG" />
<param name="File" value="logs/OTHER_LOG.log" />
<rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
<param name="fileNamePattern" value="logs/OTHER_LOG.%d{yyyyMMddHHmmss}.%i.log" />
</rollingPolicy>
<triggeringPolicy class="org.apache.log4j.rolling.SizeBasedTriggeringPolicy">
<param name="maxFileSize" value="1000000" />
</triggeringPolicy>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="..." />
</layout>
</appender>
<category name="com.main.log4j.other" additivity="false">
<appender-ref ref="OTHER-LOG" />
</category>
<root>
<level value="debug" />
<appender-ref ref="CONSOLE-LOG" />
</root>
我尝试过使用 log4j 版本 - 1.2.16,1.2.17;仍然收到警告,我的目的没有实现。 请让我知道我在哪里做错了。
【问题讨论】: