我已经在 android 中使用 slf4j 实现了创建日志文件的代码,但未能成功。
首先,我按照以下添加了 gradle 依赖项:-
compile 'org.slf4j:slf4j-android:1.6.1-RC1'
compile 'com.github.tony19:logback-android-core:1.0.7-1'
然后根据指南,我在 Assets 文件夹中创建了一个名为 logback.xml
的配置文件,如下所示:-
<configuration>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>/sdcard/testFile.log</file>
<append>true</append>
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="FILE" />
</root>
最后,我在我的应用程序中添加了一个日志,如下所示:-
Logger logger = LoggerFactory.getLogger(HomeActivity.class);
logger.debug("Testing slf4j", "Hello world");
现在我运行这个程序并期望在 SD 卡中有一个日志文件,但不幸的是没有看到这样的文件。如果我遗漏了什么,请告诉我。 如果有人在 android 应用程序中做到了,请帮助我。
谢谢。
最佳答案
logback-android
需要 slf4j-api
。不应使用 slf4j-android
,因为它是一个独立的库,只会将日志重定向到 logcat 而不会处理 logback.xml
。
来自 logback-android
的 GitHub page ,正确的依赖关系是:
dependencies {
implementation 'org.slf4j:slf4j-api:1.7.25'
implementation 'com.github.tony19:logback-android:2.0.0'
}
关于java - 如何在android中使用SLF4j获取日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35883132/