`
George_ghc
  • 浏览: 93475 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

如何过滤Android offline log

阅读更多
【转:】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)是一项非常关键的工作,它能帮助开发者更好地理解设备的行为并进行有效的调试。本文将详细解析Qualcomm平台中几种常用的Log抓取...

    Android代码-MiMangaNu

    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

    Android代码-AndStatus

    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 ...

    Android代码-MediaLoader

    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

    android studio 使用adb 命令传递文件到android 设备的方法

    使用 `adb -s xxxx pull /sdcard/ad_file_log/ D:/2014work/` 指令,将 Android 设备文件传递至 PC 电脑。 二、使用 ADB 命令遇到的问题 1. 由于目标计算机积极拒绝,无法连接。(10061) 需要执行 `adb tcpip ...

    android map

    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. ...

    react-native-sqlite-offline:React Native和SQLite离线移动应用

    它使用 JavaScript 语法,允许开发者使用一种语言编写两端(iOS 和 Android)的应用,大大提高了开发效率。React Native 的组件化开发模式使得应用的界面设计和逻辑处理更加清晰,易于维护。 SQLite 是一个轻量级的...

    rtl-viewpager,.zip

    8. **变更日志(CHANGELOG.md)**:记录了项目的更新历史,方便用户了解每个版本的变化。 将`rtl-viewpager`集成到你的项目中,你可以按照`README.md`中的步骤操作,通常包括添加依赖仓库,导入库模块,并在布局...

    adb命令大全

    状态可能包括`device`(表示设备已连接且正常工作)、`offline`(表示设备未正确连接)、`unauthorized`(表示设备未授权调试)等。这对于确认设备是否正确连接以及检查多个设备的连接状态非常有用。 #### 2. 对某...

    SignalR在UniAPP的应用.7z

    UniAPP是一个基于Vue.js的开源框架,主要用于开发跨平台的移动应用,包括iOS、Android以及H5等。Vue.js的轻量级和灵活性,结合SignalR的强大实时通信能力,可以创建出高性能的移动应用。 首先,你需要在UniAPP项目...

    2022年上半年系统规划与管理师《综合知识》真题及答案【完整版】.docx

    O2O(Online To Offline)模式指的是线上到线下的业务流程,通常用于餐饮、娱乐等行业,用户在线上下单后,在线下享受服务或商品。 **解析:**题目描述的情景符合O2O模式的特点,即用户通过线上平台下单,然后在线下...

    ORA-01157解决方案.txt

    首先,需要通过数据库的日志文件(alert log)来确认具体的错误信息,例如提供的日志中显示了具体的错误信息为: ``` ORA-01157: 无法识别/文件 - DBWR 文件 ORA-01110: 文件 'D:\ORACLEDATA\TEST.ORA' ``` 这表明...

    QuranyApp:开源HolyQuran应用程序,可提供阅读,收听,Tafseer,测试所有内容,并且该应用程序尺寸很小

    QuranyApp 开源HolyQuran应用程序,可提供阅读,收听,Tafseer,测试所有... ReadLog,用于存储用户阅读的页面。 打开应用程序时继续阅读。 应用程式是《古兰经》和《 Tafseer》。 挑战性 数据第一个是数据,如何获

    2021年系统规划与管理师《综合知识》真题及答案【完整版】.docx

    - **知识点**:电子商务(E-commerce)的商业模式主要包括 B2B(Business-to-Business)、B2C(Business-to-Consumer)、C2C(Consumer-to-Consumer)和 O2O(Online-to-Offline)等几种。 - **解释**:题目中提到的...

Global site tag (gtag.js) - Google Analytics