【发布时间】:2015-03-19 12:25:19
【问题描述】:
尝试使用 logback-android 重定向日志消息,以便可以将消息保存在文件中。但是,它不会被保存到文件中。
这是我的 logback.xml 文件配置,它存储在我的 Android Studio 中的 src/main/assets 下
<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");
}
问题:我继续在 logcat 中看到这些消息,但我希望它们存储在我的 android sd 卡内存中。
在manifest中添加用户权限,用于将日志写入sd卡
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
我是否在这个配置中遗漏了一些东西,因为我在我的 logcat 中也没有看到任何配置错误的错误或消息。有人可以帮我吗
【问题讨论】:
-
我不确定,因此不是答案;但路径
<file>/data/com.test.equa/files/log/foo.log</file>不是外部存储;所以提到的许可应该无关紧要。也可能是/data/data/PACKAGE...。如果您想写入 SD 卡,路径应该类似于/sdcard/Android/PACKAGE/....,然后权限很重要。这只是我的想法;因此,与其尝试回答,不如说是“我接下来要尝试什么”。 :) -
感谢 Nija 指出这一点。我也检查了包目录,日志文件也不存在。再次感谢您的回复和指出..
-
您在 logcat 中究竟看到了什么消息?
-
@superuser 我看到了正常的日志消息。没有警告或错误
-
根据您的示例 logback.xml,您应该在 logcat 中看不到来自您的应用程序的消息(“正在进行应用程序数据设置”),因为您没有
LogcatAppender。您在 logcat 中看到的消息文本究竟是什么?
标签: android android-logcat android-log