java如何防止log4j(1.2.14版)Ayncapender记录不必要的文本
我试图在我的应用程序中使用带有AsyncAppender的log4j。见下文:
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="true">
<appender name="asyncAppender" class="org.apache.log4j.AsyncAppender">
<param name="BufferSize" value="500"/>
<appender-ref ref="consoleAppender"/>
<appender-ref ref="fileAppender"/>
</appender>
<!-- file appender -->
<appender name="fileAppender" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="C:/IFFC-Home/logs/iffcserver.log" />
<param name="MaxBackupIndex" value="5" />
<param name="MaxFileSize" value="5MB" />
<layout class="org.apache.log4j.PatternLayout">
<!-- The default pattern: Date Priority [Category] Thread Message -->
<param name="ConversionPattern" value="[%d{ISO8601}] [%t] [%-5p] %c: %m%n"/>
</layout>
</appender>
<!-- console appender -->
<appender name="consoleAppender" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<!-- The default pattern: Date Priority [Category] Message -->
<param name="ConversionPattern" value="[%d{ISO8601}] [%t] [%-5p] %c: %m%n"/>
</layout>
</appender>
<category name="com.oberon">
<priority value="TRACE"/>
</category>
<root>
<priority value="INFO"/>
<appender-ref ref="asyncAppender"/>
</root>
</log4j:configuration>
应用程序派生出另一个线程来对应用程序进行日志监视
在将我的应用程序部署到Wildfly 8.1并启动它之后,我确实看到我的日志被记录在控制台窗口和日志文件中,但我最终收到了大量这样的消息:
[2014-10-22 17:00:36,966] [AsyncAppender-Dispatcher-Thread-85] [INFO ] stdout: [2014-10-22 17:00:36,820] [AsyncAppender-Dispatcher-Thread-85] [INFO ] stdout: [2014-10-22 17:00:36,719] [AsyncAppender-Dispatcher-Thread-85] [INFO ] stdout: [2014-10-22 17:00:36,694] [AsyncAppender-Dispatcher-Thread-85] [INFO ] stdout: [2014-10-22 17:00:36,671] [AsyncAppender-Dispatcher-Thread-85] [INFO ] stdout: [2014-10-22 17:00:36,649] [AsyncAppender-Dispatcher-Thread-85] [INFO ] stdout: [2014-10-22 17:00:36,625] [AsyncAppender-Dispatcher-Thread-85] [INFO ] stdout: [2014-10-22 17:00:36,599] [AsyncAppender-Dispatcher-Thread-85] [INFO ] stdout:
这一切都在一行中,同样的事情一遍又一遍地重复着。只有在尝试使用AsyncAppender时才会发生这种情况
我还打开了log4j调试,这是它在Wildfly服务器日志中打印出来的内容:
2014-10-22 17:00:36,266 INFO [stdout] (Thread-84) log4j: reset attribute= "false".
2014-10-22 17:00:36,267 INFO [stdout] (Thread-84) log4j: Threshold ="null".
2014-10-22 17:00:36,269 INFO [stdout] (Thread-84) log4j: Retreiving an instance of org.apache.log4j.Logger.
2014-10-22 17:00:36,270 INFO [stdout] (Thread-84) log4j: Setting [com.oberon] additivity to [true].
2014-10-22 17:00:36,273 INFO [stdout] (Thread-84) log4j: Level value for com.oberon is [TRACE].
2014-10-22 17:00:36,274 INFO [stdout] (Thread-84) log4j: com.oberon level set to TRACE
2014-10-22 17:00:36,275 INFO [stdout] (Thread-84) log4j: Level value for root is [INFO].
2014-10-22 17:00:36,276 INFO [stdout] (Thread-84) log4j: root level set to INFO
2014-10-22 17:00:36,277 INFO [stdout] (Thread-84) log4j: Class name: [org.apache.log4j.AsyncAppender]
2014-10-22 17:00:36,286 INFO [stdout] (Thread-84) log4j: Setting property [bufferSize] to [500].
2014-10-22 17:00:36,287 INFO [stdout] (Thread-84) log4j: Attaching appender named [consoleAppender] to appender named [asyncAppender].
2014-10-22 17:00:36,288 INFO [stdout] (Thread-84) log4j: Class name: [org.apache.log4j.ConsoleAppender]
2014-10-22 17:00:36,290 INFO [stdout] (Thread-84) log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
2014-10-22 17:00:36,294 INFO [stdout] (Thread-84) log4j: Setting property [conversionPattern] to [[%d{ISO8601}] [%t] [%-5p] %c: %m%n].
2014-10-22 17:00:36,296 INFO [stdout] (Thread-84) log4j: Attaching appender named [fileAppender] to appender named [asyncAppender].
2014-10-22 17:00:36,297 INFO [stdout] (Thread-84) log4j: Class name: [org.apache.log4j.RollingFileAppender]
2014-10-22 17:00:36,300 INFO [stdout] (Thread-84) log4j: Setting property [file] to [C:/IFFC-Home/logs/iffcserver.log].
2014-10-22 17:00:36,301 INFO [stdout] (Thread-84) log4j: Setting property [maxBackupIndex] to [5].
2014-10-22 17:00:36,301 INFO [stdout] (Thread-84) log4j: Setting property [maxFileSize] to [5MB].
2014-10-22 17:00:36,302 INFO [stdout] (Thread-84) log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
2014-10-22 17:00:36,302 INFO [stdout] (Thread-84) log4j: Setting property [conversionPattern] to [[%d{ISO8601}] [%t] [%-5p] %c: %m%n].
2014-10-22 17:00:36,303 INFO [stdout] (Thread-84) log4j: setFile called: C:/IFFC-Home/logs/iffcserver.log, true
2014-10-22 17:00:36,304 INFO [stdout] (Thread-84) log4j: setFile ended
2014-10-22 17:00:36,305 INFO [stdout] (Thread-84) log4j: Adding appender named [asyncAppender] to category [].
我是否缺少正确配置并删除所有额外重复消息的功能
共 (0) 个答案