【问题标题】:How to get log file using SLF4j in android如何在android中使用SLF4j获取日志文件
【发布时间】:2016-06-23 07:53:01
【问题描述】:

我已经实现了在 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应用程序中做到了,请帮助我。

谢谢。

【问题讨论】:

  • 您使用的是哪个安卓版本?您的应用在清单中有写入权限吗?如果允许较新的 android 版本写入 sdcard 的根目录,我不放心?注意:不是每个安卓应用都有文件夹 /sdcard/
  • 是的,应用在清单中有写入外部设备权限。

标签: java android logging slf4j logback


【解决方案1】:

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

来自logback-androidGitHub page,正确的依赖是:

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

更新:compile 是obsolete 并被implementation 替换。使用:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-03
    • 2021-09-10
    • 2011-10-05
    • 2015-07-03
    • 1970-01-01
    • 2015-09-09
    • 2017-04-26
    相关资源
    最近更新 更多