Log4j警告:持续解析错误

问题描述

我在 log4j.xml 添加一个附加器,当我在Docker上运行它时会发出警告。当我使用STS在本地运行它时,它工作正常。这些是警告:

2020-09-04T11:43:22.069+02:00   log4j:WARN Continuable parsing error 22 and column 13
2020-09-04T11:43:22.069+02:00   log4j:WARN The content of element type "appender" must match "(errorHandler?,param*,rollingPolicy?,triggeringPolicy?,connectionSource?,layout?,filter*,appender-ref*)".
2020-09-04T11:43:22.070+02:00   log4j:WARN Continuable parsing error 38 and column 13
2020-09-04T11:43:22.070+02:00   log4j:WARN The content of element type "appender" must match "(errorHandler?,appender-ref*)".

HOSTS 附加程序是发出警告的程序。它似乎在抱怨标签的顺序,但我已经检查过,一切都井井有条。这是我的log4j.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC
        "-//APACHE//DTD LOG4J 1.2//EN" "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
    <!-- ================================= -->
    <!-- Preserve messages in a local file -->
    <!-- ================================= -->
    <appender name="FILE" class="org.apache.log4j.FileAppender">
        <errorHandler class="org.apache.log4j.helpers.OnlyOnceErrorHandler"/>
        <param name="File" value="/dev/stdout"/>
        <param name="Threshold" value="DEBUG"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%p] [%t] [%c{1}.%M:%L] - %m%n" />
        </layout>
    </appender>
    <!-- ============================ -->
    <!-- Logging request host headers -->
    <!-- ============================ -->
    <appender name="HOSTS" class="org.apache.log4j.FileAppender">
        <errorHandler class="org.apache.log4j.helpers.OnlyOnceErrorHandler"/>
        <param name="file" value="/var/log/hosts.log"/>
        <param name="immediateFlush" value="true"/>
        <param name="threshold" value="error"/>
        <param name="append" value="false"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="conversionPattern" value="%m%n"/>
        </layout>
    </appender>
    <!-- ============================== -->
    <!-- Append messages to the console -->
    <!-- ============================== -->
    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
        <errorHandler class="org.apache.log4j.helpers.OnlyOnceErrorHandler"/>
        <param name="Target" value="System.out"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%p] [%t] [%c{1}.%M:%L] - %m%n"/>
        </layout>
    </appender>
    <!-- ================ -->
    <!-- Limit categories -->
    <!-- ================ -->
    <logger name="org.springframework">
        <level value="WARN"/>
    </logger>
    <logger name="org.hibernate">
        <level value="WARN"/>
    </logger>
    <logger name="org.apache">
        <level value="WARN"/>
    </logger>
    <logger name="com.mysema">
        <level value="INFO"/>
    </logger>
    <!-- ======================= -->
    <!-- Setup the Root category -->
    <!-- ======================= -->
    <root>
        <priority value ="INFO"/>
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="HOSTS"/>
    </root>
</log4j:configuration>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)