在Android開發(fā)中少不了和日志打交道,而在大型項(xiàng)目中都是分模塊的稠鼻,大公司基本上都是一個(gè)人負(fù)責(zé)一個(gè)模塊端三,可能還有獨(dú)立的日志模塊方便調(diào)試搔驼。自然代碼就開始冗余了。在小公司可能遇到的問題就是公司機(jī)器不全,無法覆蓋所有機(jī)型肌幽,出現(xiàn)在公司內(nèi)部無法復(fù)現(xiàn)用戶反饋的bug晚碾,這時(shí)你可能去查日志系統(tǒng)找到用戶上傳的日志,如果有喂急,ok格嘁,你也許可以搞定,如果沒有呢廊移?對(duì)于注重用戶體驗(yàn)的公司可能你就得和用戶聯(lián)調(diào)了糕簿。對(duì)于和用戶聯(lián)調(diào)這其中諸多不便就不用說了,經(jīng)歷過的人都有體會(huì)画机。所以你需要在你認(rèn)為可能出現(xiàn)問題的地方打日志,一般而言只是其中一個(gè)模塊有問題新症。這時(shí)你可能需要在用戶的日志信息步氏,無論通過應(yīng)用自動(dòng)上傳到服務(wù)器還是通過用戶拷貝日志文件傳給你也罷。都需要手機(jī)本地保存一份日志回傳給你分析定位問題所在徒爹〖孕眩或者你需要開發(fā)的時(shí)候在本地保存一份日志,這樣你再何時(shí)何地都可以調(diào)試隆嗅,比如在地鐵上調(diào)試弱網(wǎng)界阁。
這篇文章就是為了解決以上痛點(diǎn)。
LogUtil for android
android日志工具類
特色
- 基于系統(tǒng)Log日志改造,簡單易用
- 支持保存本地文件日志
- 支持分模塊保存日志,在大工程項(xiàng)目中分模塊調(diào)試有優(yōu)勢
- 支持快捷方式打日志
使用
1.首先得在使用前初始化一次胖喳,一般在Application里面初始化
LogConfig logConfig = new LogConfig.Builder(getApplicationContext())
.setLogLevel(LogUtil.VERBOSE) //設(shè)置日志級(jí)別泡躯,當(dāng)為LogUtil.ASSERT不打印日志
.setNeedSaveToDefaultFile(true)
.prefix("-prefix-")
.suffix("-suffix-")
.defaultTag("LOG")
.dirPath("/sunshy")
.addSaveRule("MainActivity", true)
.addSaveRule("Feed", true)
.addSaveRule("qqq", false)
.build();
LogUtil.init(logConfig);
2.現(xiàn)在就可以像系統(tǒng)log一樣使用
LogUtil.e(TAG, "e 1");
LogUtil.e(TAG, "e 2", new Exception("e2"));
LogUtil.e("error1"); //無tag默認(rèn)當(dāng)前類名作為tag
LogUtil.e("error2", new Exception("error2"));
3.LogConfig 配置
setLogLevel(int logLevel) //設(shè)置日記打印級(jí)別, LogUtil.VERBOSE 打印VERBOSE級(jí)別以上所有日志
prefix(String prefix) //指定保存日志的文件前綴
suffix(String suffix) //指定保存日志的文件后綴
defaultTag(String tag) //指定保存到默認(rèn)日志文件model
dirPath(String dirPath); //指定保存文件的目錄,格式:"/xxx", 不設(shè)置 默認(rèn)使用當(dāng)前應(yīng)用名作為目錄
setNeedSaveToDefaultFile(boolean flag) //設(shè)置是否需要保存所有的日志到默認(rèn)文件
.addSaveRule(String tag, boolean needSave) //配置保存模塊規(guī)則丽焊,例如有個(gè)“PUBLISH”模塊较剃,則所有使用這個(gè)tag都會(huì)保存在同一個(gè)文件 //指定tag是否需要保存,如果需要保存技健,則會(huì)保存到指定模塊文件写穴,反之,則不保存雌贱,也不保存到默認(rèn)日志文件
示例
安裝
Gradle
compile 'com.qyl.log:library:1.1.0'
Maven
<dependency>
<groupId>com.qyl.log</groupId>
<artifactId>library</artifactId>
<version>1.1.0</version>
<type>pom</type>
</dependency>
注意
- 確保有讀寫文件權(quán)限
- 保證手機(jī)有sdcard
- 打release包記得關(guān)閉日志 設(shè)置LogLevel最高ASSERT不打印日志
詳細(xì)介紹
https://github.com/qylshy/AndroidLogUtil/blob/master/README.md