android - 部署apk后如何在android上更改logback配置?无需重新编译

标签 android logback

在常规 Java 中,可以将备用 logback.xml 文件放在 jar 的文件夹中以更改 logback 配置(例如,更改日志级别)。

在 Android 上使用 logback-android 这可能吗?

最佳答案

是的,这是可能的。 logback-android除了 logback.xml 中的常规位置之外,还允许指定备用/可选位置。

在下面的示例配置中,logback-android 仅在文件存在时加载 logback-debug.xml 文件。否则,它加载 logback-release.xml

Assets /logback.xml:

<configuration>
  <includes>
    <!-- logback picks first configuration found in the following list -->
    <include resource="assets/config/logback-debug.xml"/>
    <include resource="assets/config/logback-release.xml"/>
  </includes>
</configuration>

assets/config/logback-debug.xml

<configuration>
  <appender name="file" class="ch.qos.logback.classic.android.LogcatAppender">
    <encoder>
      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
  </appender>

  <root level="DEBUG">
    <appender-ref ref="LOGCAT" />
  </root>
</configuration>

Assets /配置/logback-release.xml

<configuration>
  <appender name="file" class="ch.qos.logback.core.FileAppender">
    <file>/data/data/com.example/files/log/foo.log</file>
    <encoder>
      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
  </appender>

  <root level="INFO">
    <appender-ref ref="file" />
  </root>
</configuration>

关于android - 部署apk后如何在android上更改logback配置?无需重新编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28794915/

相关文章:

java - 如何强制 logback 在翻转时创建新文件

logging - Logback中的标记

java - Android 空指针异常 ListFragment

android - 使用存储访问框架 (SAF) 选择或创建外部文件

java - Logback 不解析创建日志文件时的文件名日期模式

Spring Boot jetty/tomcat 内嵌访问日志配置

java - 为什么 logback 不使用 Spring Boot 记录某些行?

android - 2.1 中的 LocationManager 不工作?

android - 如何在 Android 中通过 JSON 发送 http 请求?

android - 选项 C : Use a ContentProvider API and a SyncAdapter Virgil's Presentation Example