有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案