【转:】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 <logcatfile> [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
分享到:
相关推荐
### Qualcomm平台开发中Log抓取方法详解 在Qualcomm平台的开发过程中,抓取日志(Log)是一项非常关键的工作,它能帮助开发者更好地理解设备的行为并进行有效的调试。本文将详细解析Qualcomm平台中几种常用的Log抓取...
MiMangaNu *ES - Lector de Manga online / offline, gratuito y de código abierto. *EN - Manga reader online / offline, free and open source. *FR - Lecteur de manga en ligne / hors ligne, ...Changelog
and it allows you to read and post even when you are offline. For Android v.7.0 devices. Under Free/Libre and Open Source License. For more information please read the AndStatus Wiki. See the ...
MediaLoader 简体中文README Table of Content Introduction Features Quick start ...offline work with cached data,no download again; working with any media player on android(MediaPl
使用 `adb -s xxxx pull /sdcard/ad_file_log/ D:/2014work/` 指令,将 Android 设备文件传递至 PC 电脑。 二、使用 ADB 命令遇到的问题 1. 由于目标计算机积极拒绝,无法连接。(10061) 需要执行 `adb tcpip ...
Big Planet Tracks is an online/offline maps application that can import, export and record your GPS tracks, and shows live/real-time statistics such as time, speed, distance, and elevation. ...
它使用 JavaScript 语法,允许开发者使用一种语言编写两端(iOS 和 Android)的应用,大大提高了开发效率。React Native 的组件化开发模式使得应用的界面设计和逻辑处理更加清晰,易于维护。 SQLite 是一个轻量级的...
8. **变更日志(CHANGELOG.md)**:记录了项目的更新历史,方便用户了解每个版本的变化。 将`rtl-viewpager`集成到你的项目中,你可以按照`README.md`中的步骤操作,通常包括添加依赖仓库,导入库模块,并在布局...
状态可能包括`device`(表示设备已连接且正常工作)、`offline`(表示设备未正确连接)、`unauthorized`(表示设备未授权调试)等。这对于确认设备是否正确连接以及检查多个设备的连接状态非常有用。 #### 2. 对某...
UniAPP是一个基于Vue.js的开源框架,主要用于开发跨平台的移动应用,包括iOS、Android以及H5等。Vue.js的轻量级和灵活性,结合SignalR的强大实时通信能力,可以创建出高性能的移动应用。 首先,你需要在UniAPP项目...
O2O(Online To Offline)模式指的是线上到线下的业务流程,通常用于餐饮、娱乐等行业,用户在线上下单后,在线下享受服务或商品。 **解析:**题目描述的情景符合O2O模式的特点,即用户通过线上平台下单,然后在线下...
首先,需要通过数据库的日志文件(alert log)来确认具体的错误信息,例如提供的日志中显示了具体的错误信息为: ``` ORA-01157: 无法识别/文件 - DBWR 文件 ORA-01110: 文件 'D:\ORACLEDATA\TEST.ORA' ``` 这表明...
QuranyApp 开源HolyQuran应用程序,可提供阅读,收听,Tafseer,测试所有... ReadLog,用于存储用户阅读的页面。 打开应用程序时继续阅读。 应用程式是《古兰经》和《 Tafseer》。 挑战性 数据第一个是数据,如何获
- **知识点**:电子商务(E-commerce)的商业模式主要包括 B2B(Business-to-Business)、B2C(Business-to-Consumer)、C2C(Consumer-to-Consumer)和 O2O(Online-to-Offline)等几种。 - **解释**:题目中提到的...