logback:DBAppender没有写入logging_event_exception

时间:2014-12-02 10:15:20

标签: java logback

我有以下logback.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<configuration>      
    <appender name = "DB" class="ch.qos.logback.classic.db.DBAppender">
        <connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">
            <driverClass>com.microsoft.sqlserver.jdbc.SQLServerDriver</driverClass>
            <url>jdbc:sqlserver://servername:1433;databaseName=dbname</url>
            <user>user</user>
            <password>pass</password>
        </connectionSource>
    </appender>                
    <root>
        <level value="debug" />
        <appender-ref ref="DB" />        
    </root>
</configuration>

并期望这个简单的测试在logging_event_exception表中创建一个条目:

 public static void main(String[] args) {
        Logger logger = LoggerFactory.getLogger(MyClass.class);
        try {
            throw new RuntimeException("some error");
        } catch (RuntimeException e) {
            logger.error("test");
        }


    }

但它只在logging_event_table中插入一个条目。 我在配置中缺少什么?

感谢。

1 个答案:

答案 0 :(得分:2)

找到解决方案,正如我在上一篇评论中所解释的那样:对于要写入logging_event_exception表的logback,我必须调用public void error(String msg, Throwable t)方法。