【发布时间】:2018-12-17 18:00:00
【问题描述】:
logback 的 android 实现似乎缺少 DBAppender 类。
这是我相关的 logback appender 配置,位于 assets/logback.xml 中。
<appender name="DB" class="ch.qos.logback.classic.db.DBAppender">
<connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">
<driverClass>com.mysql.jdbc.Driver</driverClass>
<url>jdbc:mysql://10.2.2.222:3306/logback</url>
<user>username</user>
<password>thepassword</password>
</connectionSource>
</appender>
还有毕业:
implementation 'org.slf4j:slf4j-api:1.7.25'
implementation 'com.github.tony19:logback-android:1.1.1-12'
以及在我的 logcat 中产生的错误:
20:40:50,225 |-ERROR in ch.qos.logback.core.joran.action.AppenderAction -
Could not create an Appender of type [ch.qos.logback.classic.db.DBAppender].
ch.qos.logback.core.util.DynamicClassLoadingException:
Failed to instantiate type ch.qos.logback.classic.db.DBAppender
at ch.qos.logback.core.util.DynamicClassLoadingException:
Failed to instantiate type ch.qos.logback.classic.db.DBAppender
和
Caused by: ch.qos.logback.core.util.DynamicClassLoadingException:
Failed to instantiate type ch.qos.logback.classic.db.DBAppender
和
Caused by: java.lang.ClassNotFoundException:
Didn't find class "ch.qos.logback.classic.db.DBAppender"
否则,Logback 可以正常工作,如果我注释掉数据库内容并将其记录到文件中,它会正确实例化并在日志文件中生成文本。
我找到了一些人使用 DBAppender 的例子,但没有发现任何似乎是基于 android 的。
ps:我也尝试了另一个选项,DataSourceConnectionSource(与显示的 DriverManagerConnectionSource 不同),但它实际上使用了相同的附加程序,因此产生了相同的错误。我在 github 文件中也找不到对 DBAppender 的任何引用。
【问题讨论】:
标签: android logging logback appender