我正在学习Log4j,我正在使用的书正在解释AsyncAppenders。我将缓冲区大小设置为128(LoggingEvents)。该书解释说,在达到缓冲区大小之前不会打印任何消息,但是无论缓冲区大小如何,我的程序都会打印日志消息。
为什么会这样?如果有人知道如何使用它们,我将不胜感激任何有关AsyncAppenders的指示:)
的log4j.xml
Settings
General
Enum List Proper combobox
Select Account Xceed.Wpf.Toolkit.PropertyGrid.Attributes.Item
Xceed.Wpf.Toolkit.PropertyGrid.Attributes.Item
Java代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"
debug="true">
<appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
<appender-ref ref="CONSOLE"/>
<param name="BufferSize" value="128"/>
</appender>
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%t] - %m%n"/>
</layout>
</appender>
<logger name="org.example.christopher" additivity="false">
<level value="debug"/>
<appender-ref ref="ASYNC"/>
</logger>
<root>
<priority value="debug"/>
</root>
</log4j:configuration>