空山不空

导航

关于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 

 

posted on 2012-03-08 14:14  空山不空  阅读(12931)  评论(8编辑  收藏  举报