关于Android写LOG日志到SD卡文件之microlog4android使用
最近在搞andoird项目时,经常碰到客户那边机器型号不一样,导致程序有BUG问题,而我们这边又无法定位这个BUG的确切位置(因为没有LOG文件)。
因此找了一下把程序日志写在SD卡的相关资料,就像WEB的log4j一样,生成一个日志文件到SD卡。
找了半天,没有找到一个满意的开源软件,就找到了microlog4android,用起来虽然不大满意,不过也能满足大部分需求了。
具体使用如下:
1、下载
到http://code.google.com/p/microlog4android/downloads/list 下载microlog4android-1.0.0.jar和microlog.properties文件
2、建立使用logger对象
private static final Logger logger = LoggerFactory.getLogger(main.class);
3、在程序的第一个activity的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("这是debug信息");
6、在AndroidManifest.xml 添加写sd卡的权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
运行程序,然后到SD卡根目录,可以发现有一个microlog.txt的文件,里面就是我们的日志了。
后续:
有朋友问如何更改日志文件的路径和名称,在网上找了一通的资料,没找到答案,只好到https://github.com/johanlkarlsson/microlog4android 下载源代码,经过查看源代码的PropertyConfigurator类,发现源代码里有这么一个配置参数microlog.appender.FileAppender.File,这样应该就可以更改日志文件的路径和名称了。
配置文件如下:
microlog.level=DEBUG
microlog.appender=FileAppender;LogCatAppender
microlog.appender.FileAppender.File=mylog.txt
microlog.formatter=PatternFormatter
microlog.formatter.PatternFormatter.pattern=%c [%P] %m %T
运行程序,发现日志文件还是叫microlog.txt,更改名称无效,找了各种原因都无法解决,只好反编译我们之前下载的microlog4android-1.0.0.jar包,发现PropertyConfigurator这个类和刚刚从GIT下载的源代码PropertyConfigurator类不一样,microlog4android-1.0.0.jar包里的PropertyConfigurator类没有这样的一个参数microlog.appender.FileAppender.File,只好把从GIT下载下来的源代码,重新打个包,暂时打成microlog4android-1.1.jar,然后重新运行程序,OK,搞定,日志文件名称变成了我们配置的mylog.txt。
附上整个工程代码https://files.cnblogs.com/fbsk/LogTest.zip