最近在搞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。
附上整個工程代碼http://files.cnblogs.com/fbsk/LogTest.zip