有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在安卓中使用SLF4j获取日志文件

我已经实现了在安卓中使用slf4j创建日志文件的代码,但未能成功

首先,我添加了渐变依赖项,如下所示:-

compile 'org.slf4j:slf4j-安卓:1.6.1-RC1'
compile 'com.github.tony19:logback-安卓-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");

现在我运行这个程序,希望SD卡中有一个日志文件,但不幸的是,并没有看到这样的文件。如果我遗漏了什么,请告诉我。 如果有人在安卓应用程序中成功,请帮助我

谢谢


共 (1) 个答案

  1. # 1 楼答案

    logback-android需要slf4j-api^不应使用{},因为这是一个独立的库,它只将日志重定向到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'
    }