如何解决Log4J没有此类属性警告/错误?

时间:2018-06-22 16:57:57

标签: java logging properties log4j appender

我有一个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值中的含义,因此我不知道为什么它仍然向我显示该警告。与文件相同。

在我之前做这个的人是否只是将这些不属于他们的属性粘贴在这些附加程序中?我很难验证这一点。

1 个答案:

答案 0 :(得分:2)

每个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网页上找到:

https://logging.apache.org/log4j/2.x/manual/appenders.html