尝试使用 logback-android 重定向日志消息,以便可以将消息保存在文件中。但是,它没有保存到文件中。
这是我的 logback.xml 文件配置,它存储在src/主要/资产在我的 Android Studio 中
<configuration debug="true">
<!-- Create a file appender for a log in the application's data directory -->
<appender name="FILE" class="ch.qos.logback.classic.android.FileAppender">
<file>/data/com.test.equa/files/log/foo.log</file>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- Write INFO (and higher-level) messages to the log file -->
<root level="INFO">
<appender-ref ref="FILE" />
</root>
</configuration>
这是我启动日志记录的代码片段。
@Override
public void onCreate() {
super.onCreate();
loadData();
Logger log = LoggerFactory.getLogger(MyActivity.class);
log.error("Application Data setup in progress");
}
Issue:我继续在 logcat 中看到消息,但我希望它们存储在我的 Android SD 卡内存中。
在manifest中添加了将日志写入sd卡的用户权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
我是否在此配置中遗漏了一些内容,因为我在 logcat 中也没有看到任何配置错误的错误或消息。有人可以帮我吗
对于 Android 6+ 你必须定义在设置中手动设置权限 https://www.howtogeek.com/230683/how-to-manage-app-permissions-on-android-6.0/为您的应用程序。否则,即使您授予 logback 权限,也不允许 logback 写入外部存储写外部存储 https://developer.android.com/reference/android/Manifest.permission.html#WRITE_EXTERNAL_STORAGE权限在manifest.xml中。
我从中获取了解决方案here https://stackoverflow.com/questions/40087355/android-mkdirs-not-working.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)