1

我的 log4j.xml 配置中有以下内容:

<appender name="FileAppender" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="File" value="${MDCapture.logfile.dir}/${APP_NAME}.log"/>
    <param name="BufferedIO" value="false"/>
    <param name="DatePattern" value="'.'yyyy-MMM-dd"/>
    <layout class="org.apache.log4j.TTCCLayout">
        <param name="DateFormat" value="ISO8601"/>
    </layout>
</appender>

<appender name="AsyncAppenders" class="org.apache.log4j.AsyncAppender">
    <appender-ref ref="FileAppender"/>
    <param name="BufferSize" value="1000" />
</appender>

当我运行它时,我收到以下警告:

2013 年 4 月 8 日 14:22:15 log4j:WARN 持续解析错误 18 和第 13 列 log4j:WARN 元素类型“appender”的内容必须匹配“(errorHandler?,param*,rollingPolicy?,triggeringPolicy?,connectionSource?,布局?,过滤器*,附加器参考*)”。

我是否需要按以下方式移动:

<appender name="FileAppender" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="File" value="${MDCapture.logfile.dir}/${APP_NAME}.log"/>
    <param name="BufferedIO" value="false"/>
    <param name="DatePattern" value="'.'yyyy-MMM-dd"/>
    <!-- HERE -->
    <param name="BufferSize" value="1000" /> 
    <!-- END HERE --> 
    <layout class="org.apache.log4j.TTCCLayout">
        <param name="DateFormat" value="ISO8601"/>
    </layout>
</appender>
4

2 回答 2

4

好吧,我只看到 13 行代码,但是

<appender name="AsyncAppenders" class="org.apache.log4j.AsyncAppender">
    <appender-ref ref="FileAppender"/>
    <param name="BufferSize" value="1000" />
</appender>

<appender-ref><param>标签的顺序错误。

WARN 元素类型“appender”的内容必须匹配“(errorHandler?, param* ,rollingPolicy?,triggeringPolicy?,connectionSource?,layout?,filter*, appender-ref* )”。

于 2013-08-01T21:23:48.217 回答
0

要使用 BufferSize,您必须至少拥有 log4j v1.2.17。请检查您正在使用的 jar 版本。

于 2013-04-09T09:02:43.053 回答