android上如何实现后台日志记录并写文件到sd卡
原因分析什么时候需要将我们的日志写到文件,并存储起来查看呢,我总结一下大概有几种情况:
1.debug alarm manager 启动的service,你想要知道是否每一次service的执行都正常,一切都是按照你所想的;
2.一些重要的信息,需要保存起来做分析或者需要上传到服务器做分析的;
3.开发期间,了解各个主要是网络接口的工作状态,执行效率(每个接口的执行时间)等等;
过程分析
1、下载
下载下来的microlog.properties是microlog.properties.txt,修改一下后缀名)
2、建立使用logger对象
private static final Logger logger = LoggerFactory.getLogger(main.class);
3、在程序的第activit或者service的oncreate方法里初始化方法
PropertyConfigurator.getConfigurator(this).configure();
4、把microlog.properties文件放到assets文件夹里
注意:assets文件夹是与res文件夹平级的
然后更改microlog.properties文件为以下内容:
microlog.level=DEBUG
microlog.appender=LogCatAppender;FileAppender
microlog.formatter=PatternFormatter
microlog.formatter.PatternFormatter.pattern=%c [%P] %m %T
5、写日志记录
logger.debug("my debug");
6、在AndroidManifest.xml 添加写sd卡的权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
启动程序,然后到SD卡根目录,可以发现有一个microlog.txt的文件,里面就是我们记录的日志了。
补充说明(实现循环滚动的日志,也就是让日志不断的追加在上一条后面)
1.上面的日志在多地方调用,有时候可能会发现只保存了一条记录,每次后面的日志都覆盖了前面的日志,所以我们需要增加点额外代码;
2.在第三步后面: final FileAppender fa = logger.getAppender(1); fa.setAppend(true); ok, 到此大功告成。
补充:移动开发 , Android ,