Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
部署apk后,如何在android上更改logback配置?不重新编译_Android_Logback - Fatal编程技术网

部署apk后,如何在android上更改logback配置?不重新编译

部署apk后,如何在android上更改logback配置?不重新编译,android,logback,Android,Logback,在常规Java中,可以在jar文件夹中放置一个备用logback.xml文件,以更改logback配置(例如,更改日志级别) 这在使用登录Android的Android上可能吗?是的,可能。允许在logback.xml中指定常规位置之外的备用/可选位置 在下面的配置示例中,logbackandroid仅当文件存在时才加载logback debug.xml文件。否则,它将加载logbackrelease.xml assets/logback.xml: assets/config/logback

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

这在使用
登录Android的Android上可能吗?

是的,可能。允许在
logback.xml
中指定常规位置之外的备用/可选位置

在下面的配置示例中,
logbackandroid
仅当文件存在时才加载
logback debug.xml
文件。否则,它将加载
logbackrelease.xml

assets/logback.xml:

assets/config/logback-debug.xml

%d{HH:mm:ss.SSS}[%thread]-5级别%logger{36}-%msg%n
assets/config/logback-release.xml

/data/data/com.example/files/log/foo.log
%d{HH:mm:ss.SSS}[%thread]-5级别%logger{36}-%msg%n

I gues您的选择是:或者您可以玩个把戏。如果您的目的是记录任何类型的交互,那么您可以创建一个日志文件,可以在后台发送,或者通过调用web服务在数据库中维护日志发布版本中不存在logback-debug.xml吗?为什么我们不能将配置文件分为调试版本的“src/debug/assets/logback.xml”和发布版本的src/main/assets/logback.xml?@KyryloZapylaiev是的,这是仅在构建时执行的另一种方法。OP正在请求一个位置,该位置在应用程序已部署后自动读取(例如SD卡上的已知目录),可以覆盖默认的
logback.xml
。虽然此答案将
资产中的内部路径指定为备用位置,但该位置也可以位于主机文件系统或远程URL中。
<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>
<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>
<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>