我有以下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中插入一个条目。 我在配置中缺少什么?
感谢。
答案 0 :(得分:2)
找到解决方案,正如我在上一篇评论中所解释的那样:对于要写入logging_event_exception表的logback,我必须调用public void error(String msg, Throwable t)
方法。