我有一个 Log4J xml 配置文件,其中包含附加程序。
<appender name="stdout" class="org.apache.log4j.ConsoleAppender">
<param name="File" value="/tomcat/website/webapps/app/logs/appInfo.log" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{MMM dd HH:mm:ss} %F: %m%n" />
</layout>
</appender>
<appender name="rolling" class="org.apache.log4j.RollingFileAppender">
<param nawebsite/webapps/app/logs/app.log" />
<param name="MaxFileSize" value="1000KB" />
<param name="MaxBackupIndex" value="2" />
<param name="DatePattern" value="'.'yyyy-MM-dd'" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{MMM dd HH:mm:ss} %F: %m%n" />
</layout>
</appender>
当我构建项目时,我在控制台中收到以下警告/错误,我试图摆脱它们:
log4j:WARN No such property [datePattern] in org.apache.log4j.RollingFileAppender.
log4j:WARN No such property [file] in org.apache.log4j.ConsoleAppender.
我没有制作这些 log4j 配置 xml 文件;他们已经是该项目的一部分。
我已经在网上看到了 DatePattern
文档,它似乎准确地表明了 DatePattern
值中的内容,所以我不知道为什么它仍然向我显示警告。与文件相同。
在我之前做这个的人是否只是将属性粘贴到这些不属于的附加程序中?我很难验证这一点。
请您参考如下方法:
每个 Appender 都有自己的配置属性。 file
对于 RollingFileAppender 有意义,但对于 ConsoleAppender 没有意义。
如果您将一个附加程序切换到另一个附加程序并且不更新配置属性,那么您将收到此类警告。
要修复它们,您需要从配置中删除未使用(或不适用)的属性:
<appender name="stdout" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{MMM dd HH:mm:ss} %F: %m%n" />
</layout>
</appender>
<appender name="rolling" class="org.apache.log4j.RollingFileAppender">
<param name="FileName" value="/tomcat/website/webapps/app/logs/app.log" />
<param name="MaxFileSize" value="1000KB" />
<param name="MaxBackupIndex" value="2" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{MMM dd HH:mm:ss} %F: %m%n" />
</layout>
</appender>
Apache Commons Log4j 网页上提供了附加程序及其参数的完整列表: