log4j xml配置中的BufferSize位置

时间:2013-04-09 08:48:59

标签: java log4j

我在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>

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

  

08-Apr-2013 14:22:15   log4j:WARN可持续解析错误18和第13列   log4j:WARN元素类型“appender”的内容必须匹配“(errorHandler?,param *,rollingPolicy ?, triggeringPolicy ?, connectionSource ?, layout ?, filter *,appender-ref *)”。

我需要按以下方式移动:

<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>

2 个答案:

答案 0 :(得分:4)

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

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

错误的订单中包含<appender-ref><param>个标记。

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

答案 1 :(得分:0)

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