如何在android中使用SLF4j获取日志文件

时间:2016-03-09 04:50:03

标签: java android logging slf4j logback

我已经在android中使用slf4j实现了创建日志文件的代码但是无法成功。

首先,我按照以下方式添加了gradle依赖: -

compile 'org.slf4j:slf4j-android:1.6.1-RC1'
compile 'com.github.tony19:logback-android-core:1.0.7-1'

然后根据指南,我在名为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");

现在我运行了这个程序并希望SDcard中有一个日志文件,但遗憾的是没有看到这样的文件。如果我遗失任何东西,请告诉我。 如果有人在Android应用程序中创建它,请帮助我。

感谢。

1 个答案:

答案 0 :(得分:1)

logback-android需要slf4j-api。不应使用slf4j-android,因为这是一个独立的库,只将日志重定向到logcat而不处理logback.xml

来自logback-android的{​​{3}},正确的依赖关系是:

dependencies {
  compile 'org.slf4j:slf4j-api:1.7.25'
  compile 'com.github.tony19:logback-android:1.1.1-12'
}