部署apk后,如何在android上更改logback配置?不重新编译
在常规Java中,可以在部署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
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>