Java – log4j: buffersize cannot be changed with bufferedio = true in fileappender
I think I have a problem with log4j I'm trying to enable bufferedio, but the default buffer size of 8KB is too large for my current needs
<appender name="MyAppender" class="org.apache.log4j.FileAppender"> <param name="bufferedio" value="true"/> <param name="bufferSize" value="512"/> <param name="Append" value="true"/> <param name="File" value="C:/MyMonitor.log"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{dd/MM/yyyy HH:mm:ss}|%m%n"/> </layout> </appender> <logger name="com.mypackage.MyMonitor"> <level value="debug"/> <appender-ref ref="MyAppender"/> </logger>
I've tried different sizes for the buffer, but the file is written only when the buffer reaches 8KB
I can't find any error describing this problem in log4j, even if I find another person with the same problem (without any solution)
Enabling log4j debugging shows that my appender has the correct buffer size, so I don't think anyone has overwritten my configuration
Do I know what I did wrong? Is it really an error or limitation in log4j?
thank you.
Solution
I noticed that you wrote bufferedio from an early age and buffersize from uppercase By default, Java is case sensitive, so treat all parameters as constructors (buffersize should be lowercase)
In addition, as far as I know, fileappender has been deprecated Writerappender is the closest substitute