最近開發(fā)Android SDK遇到這一個(gè)問題,經(jīng)常需要查看SDK調(diào)用者發(fā)過來的Log文件Debug,而這個(gè)文件通常很大,對方程序與自己SDK的Log混在一起,看起來很不方便。所以我需要這樣一個(gè)Log viewer工具,除了常規(guī)的根據(jù)級別過濾日志之外,最好能根據(jù)TAG過濾日志。
在Java Log Viewer日志查看器里發(fā)現(xiàn)了一個(gè)工具,OtrosLogViewer,符合我的要求。
OtrosLogViewer主要應(yīng)用于Log4j,但是稍加配置也可以用于Android Log。關(guān)鍵是配置Pattern Paser。打開Log4j pattern parser editor,編輯。
我們的Android Log是這樣的:
[ 09-12 14:22:29.980 841: 892 D/BtGatt.btif ]btif_gattc_get_characteristic
在編輯框中,把pattern parser改為
type=log4j
pattern=[ TIMESTAMP THREAD: LINE LEVEL/CLASS ]MESSAGE
dateFormat=MM-dd HH:mm:ss.SSS
name=Lo4j-pattern:
charset=UTF-8
customLevels=I=INFO,D=DEBUG,W=WARN,E=ERROR
type和name是無所謂的。關(guān)鍵是pattern。android 的 log里面有841和892兩個(gè)數(shù),估計(jì)是PID和TID吧,log4j里面好像沒有對應(yīng)的,所以我就用THREAD和LINE來替代了。
pattern里不能有重復(fù),編輯完點(diǎn)擊test paser,如果parse結(jié)果不為0說明解析成功。