sl4j +异步logback

时间:2014-11-06 14:50:09

标签: java swing slf4j logback

尝试使用logback和sl4j配置ascyn日志记录。

代码(缩写):

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

protected final Logger logger = LoggerFactory.getLogger(getClass());

logger.warn("Warning message");
在loogback.xml中

<configuration>
    <jmxConfigurator/>

    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
            <layout class="ch.qos.logback.classic.PatternLayout">
                <Pattern>%.-1level %d{yyMMdd} %d{HHmmss.SSS} [%thread] %logger{0} - %msg%n</Pattern>
            </layout>
        </encoder>
    </appender>

    <appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
        <queueSize>500</queueSize>
        <discardingThreshold>0</discardingThreshold>
        <appender-ref ref="CONSOLE" />
    </appender>        

    <root>
        <level value="INFO"/>
        <appender-ref ref="ASYNC"/>
    </root>

</configuration>

为了测试,我被迫每秒抛出10个异常。

在profiler中我看到AsyncAppender-Worker-Thread-1,但它总是等待,而主线程完全可以工作。

我错过了什么?

0 个答案:

没有答案