最近开发Android SDK遇到这一个问题,经常需要查看SDK调用者发过来的Log文件Debug,而这个文件通常很大,对方程序与自己SDK的Log混在一起,看起来很不方便。所以我需要这样一个Log viewer工具,除了常规的根据级别过滤日志之外,最好能根据TAG过滤日志。
在Java Log Viewer日志查看器里发现了一个工具,OtrosLogViewer,符合我的要求。
OtrosLogViewer主要应用于Log4j,但是稍加配置也可以用于Android Log。关键是配置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是无所谓的。关键是pattern。android 的 log里面有841和892两个数,估计是PID和TID吧,log4j里面好像没有对应的,所以我就用THREAD和LINE来替代了。
pattern里不能有重复,编辑完点击test paser,如果parse结果不为0说明解析成功。