1
votes

I have the following in my log4j.xml configuration:

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

When I run it, I get the following warning:

08-Apr-2013 14:22:15 log4j:WARN Continuable parsing error 18 and column 13 log4j:WARN The content of element type "appender" must match "(errorHandler?,param*,rollingPolicy?,triggeringPolicy?,connectionSource?,layout?,filter*,appender-ref*)".

Do I need to move as follows:

<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
what is the log4j jar version that you are using? - Ankit

2 Answers

4
votes

Well, I only see 13 lines of code, but

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

has <appender-ref> and <param> tags in the wrong order.

WARN The content of element type "appender" must match "(errorHandler?,param*,rollingPolicy?,triggeringPolicy?,connectionSource?,layout?,filter*,appender-ref*)".

0
votes

to use BufferSize, you must have log4j v1.2.17 at least. Please check the jar version that you are using.