如何过滤Android(安卓)offline log
16lz
2021-01-24
阅读更多 【转:】http://blog.csdn.net/learnrose/archive/2011/03/04/6222305.aspx
作为Android 工程师,在日常工作中每天会读Log,分析Log.由于Android 的所有Log 都是存放在一个文件当中(除了Radio.event之外),所以Log 文件会非常大。在这数以千行甚至上万的log中,往往开发人员真正需要的LOG被分散到不同的地方,开发人员可以利用编辑器的查找功能来找到所要关心的某个TAG信息,但是如果开发人员关心的不止一个TAG的信心,看LOG就显得比较费劲了。
举例说明:
在下面的logcat log中,开发人员只想关注Database 和 dalvikvm的信息,一般情况下,只能先查找Database所在的行,把光标调到所在行之后,再翻页查看dalvikvm的信息,效率很低。
[ 01-01 08:02:56.197 1304:0x518 D/servo ]
[ServoSearchReceiver]:Received Intent: /data/data/oms.mobilewidget.provider/databases/widgets.db$widgets$2-18$23, com.db4o.ser\
vo.SQLITE_CHANGE
[ 01-01 08:02:56.260 1313:0x55d D/Database ]
sqlite change intent sent
[ 01-01 08:02:56.502 1412:0x58c D/dalvikvm ]
GC_FOR_MALLOC freed 12134 objects / 477880 bytes in 81ms
[ 01-01 08:02:57.096 1412:0x58c D/dalvikvm ]
GC_FOR_MALLOC freed 12926 objects / 501824 bytes in 79ms
[ 01-01 08:02:57.268 1313:0x55d D/Database ]
prepare to send intent for sqlite change in thread:1373
[ 01-01 08:02:57.268 1313:0x55d W/Database ]
no any recorded row id found in sqlite change event
[ 01-01 08:02:57.697 1412:0x58c D/dalvikvm ]
GC_FOR_MALLOC freed 13913 objects / 532496 bytes in 84ms
[ 01-01 08:02:58.041 1412:0x58c W/WidgetPackageZip ]
Failed to find file (signature.xml) in widget package
[ 01-01 08:02:58.213 1017:0x40c D/StatusBarPolicy ]
mServiceState:null, mSignalStrength:SignalStrength: 14 -1 -1 -1 -1 -1 -1 gsm
[ 01-01 08:02:58.346 1412:0x58c D/dalvikvm ]
GC_FOR_MALLOC freed 13759 objects / 556592 bytes in 103ms
[ 01-01 08:02:58.580 1412:0x58c D/dalvikvm ]
GC_FOR_MALLOC freed 9207 objects / 388832 bytes in 74ms
....
[ 01-01 08:02:59.768 1313:0x527 V/Widget Provider ]
query url = content://widgetmanager/widget/featurelist
[ 01-01 08:02:59.768 1313:0x527 V/Widget Provider ]
query match result = 18
[ 01-01 08:02:59.994 1017:0x491 V/AlarmManager ]
set rtc .........when:57600000 type:1 application:android
[ 01-01 08:03:00.002 1017:0x40c V/AlarmManager ]
set rtc .........when:240000 type:1 application:android
[ 01-01 08:03:00.010 1017:0x40c I/KeyguardUpdateMonitor ]
KeyguardUpdateMonitor, onReceive broadcast, action=android.intent.action.TIME_TICK
[ 01-01 08:03:00.072 1412:0x58c D/dalvikvm ]
GC_FOR_MALLOC freed 8506 objects / 410768 bytes in 131ms
[ 01-01 08:03:00.315 1390:0x56e D/[DCD3.0] ]
{Thread:main}[DcdCMService:] signal down
[ 01-01 08:03:00.330 1345:0x5d6 D/MediaProvider ]
[getKeyIdForName] so=notifications
再者,如果开发人员关注的不止两个TAG的信息,想要关注三个或更多TAG信息,编辑器的查找功能就显得捉襟见肘了。
为此,我用python写了一个filter 过滤程序,能够很方便的过滤出想要的TAG LOG.而且还支持TAG信息包括多行的情况。
用法如下:
python oms_filter.py [TAG1] [TAG2] [TAG3] .....
例如:
python oms_filter.py logcat.log MediaProvider Kernel MediaScanner
会把 MediaProvider Kernel MediaScanner 这三个TAG的LOG过滤出来,并且顺序也保持原有LOG的顺序。
可以用下面的命令把oms_filter.py从网上得到。
svn export https://logcatviewer.googlecode.com/svn/trunk/src/oms_filter.py
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/learnrose/archive/2011/03/04/6222305.aspx
作为Android 工程师,在日常工作中每天会读Log,分析Log.由于Android 的所有Log 都是存放在一个文件当中(除了Radio.event之外),所以Log 文件会非常大。在这数以千行甚至上万的log中,往往开发人员真正需要的LOG被分散到不同的地方,开发人员可以利用编辑器的查找功能来找到所要关心的某个TAG信息,但是如果开发人员关心的不止一个TAG的信心,看LOG就显得比较费劲了。
举例说明:
在下面的logcat log中,开发人员只想关注Database 和 dalvikvm的信息,一般情况下,只能先查找Database所在的行,把光标调到所在行之后,再翻页查看dalvikvm的信息,效率很低。
[ 01-01 08:02:56.197 1304:0x518 D/servo ]
[ServoSearchReceiver]:Received Intent: /data/data/oms.mobilewidget.provider/databases/widgets.db$widgets$2-18$23, com.db4o.ser\
vo.SQLITE_CHANGE
[ 01-01 08:02:56.260 1313:0x55d D/Database ]
sqlite change intent sent
[ 01-01 08:02:56.502 1412:0x58c D/dalvikvm ]
GC_FOR_MALLOC freed 12134 objects / 477880 bytes in 81ms
[ 01-01 08:02:57.096 1412:0x58c D/dalvikvm ]
GC_FOR_MALLOC freed 12926 objects / 501824 bytes in 79ms
[ 01-01 08:02:57.268 1313:0x55d D/Database ]
prepare to send intent for sqlite change in thread:1373
[ 01-01 08:02:57.268 1313:0x55d W/Database ]
no any recorded row id found in sqlite change event
[ 01-01 08:02:57.697 1412:0x58c D/dalvikvm ]
GC_FOR_MALLOC freed 13913 objects / 532496 bytes in 84ms
[ 01-01 08:02:58.041 1412:0x58c W/WidgetPackageZip ]
Failed to find file (signature.xml) in widget package
[ 01-01 08:02:58.213 1017:0x40c D/StatusBarPolicy ]
mServiceState:null, mSignalStrength:SignalStrength: 14 -1 -1 -1 -1 -1 -1 gsm
[ 01-01 08:02:58.346 1412:0x58c D/dalvikvm ]
GC_FOR_MALLOC freed 13759 objects / 556592 bytes in 103ms
[ 01-01 08:02:58.580 1412:0x58c D/dalvikvm ]
GC_FOR_MALLOC freed 9207 objects / 388832 bytes in 74ms
....
[ 01-01 08:02:59.768 1313:0x527 V/Widget Provider ]
query url = content://widgetmanager/widget/featurelist
[ 01-01 08:02:59.768 1313:0x527 V/Widget Provider ]
query match result = 18
[ 01-01 08:02:59.994 1017:0x491 V/AlarmManager ]
set rtc .........when:57600000 type:1 application:android
[ 01-01 08:03:00.002 1017:0x40c V/AlarmManager ]
set rtc .........when:240000 type:1 application:android
[ 01-01 08:03:00.010 1017:0x40c I/KeyguardUpdateMonitor ]
KeyguardUpdateMonitor, onReceive broadcast, action=android.intent.action.TIME_TICK
[ 01-01 08:03:00.072 1412:0x58c D/dalvikvm ]
GC_FOR_MALLOC freed 8506 objects / 410768 bytes in 131ms
[ 01-01 08:03:00.315 1390:0x56e D/[DCD3.0] ]
{Thread:main}[DcdCMService:] signal down
[ 01-01 08:03:00.330 1345:0x5d6 D/MediaProvider ]
[getKeyIdForName] so=notifications
再者,如果开发人员关注的不止两个TAG的信息,想要关注三个或更多TAG信息,编辑器的查找功能就显得捉襟见肘了。
为此,我用python写了一个filter 过滤程序,能够很方便的过滤出想要的TAG LOG.而且还支持TAG信息包括多行的情况。
用法如下:
python oms_filter.py
例如:
python oms_filter.py logcat.log MediaProvider Kernel MediaScanner
会把 MediaProvider Kernel MediaScanner 这三个TAG的LOG过滤出来,并且顺序也保持原有LOG的顺序。
可以用下面的命令把oms_filter.py从网上得到。
svn export https://logcatviewer.googlecode.com/svn/trunk/src/oms_filter.py
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/learnrose/archive/2011/03/04/6222305.aspx
- oms_filter.rar (637 Bytes)
- 下载次数: 4
更多相关文章
- Android定位功能
- Android图灵聊天机器人-薇尔莉特
- 【Android】 ANR异常及traces信息解析
- 7种形式的Android(安卓)Dialog使用举例
- Android(安卓)Studio 构建时报错:与元素类型 “item” 相关联的
- Android(安卓)跳转到应用市场详细信息页面
- Android之条形码、二维码扫描框架(非原创)
- Android系统启动顺序(按下power键后所做的的工作)
- Android(安卓)in Mono开发初体验之DataBase