【**】
作為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 ]
[ 01-01 08:03:00.002 1017:0x40c v/alarmmanager ]
[ 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] ]
[dcdcmservice:] signal down
[ 01-01 08:03:00.330 1345:0x5d6 d/mediaprovider ]
[getkeyidforname] so=notifications
為此,我用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
SpringMVC是如何過濾json資料的
rt,比如我想將user物件轉換成json資料給前台,但是有一些user的屬性我不想給前台,例如密碼,建立日期等等,springmvc是如何實現的 propertyfilter propertyfilter newpropertyfilter returnfalse this.outjson res...
過濾列名如何注入dump資料
這是乙個非常神奇的東西,在做lctf中大牛提及的ddctf2017中的乙個題目,廢話不多少,直接放出來效果及其利用語句 mysql select from select 1 a,select 2 b,select 3 c 1 2 3 1 2 3 1 row in set 0.14 sec mysql...
sql 如何過濾重覆記錄
請各位大俠幫忙了 問題1 對於以下幾個記錄 id123456 123123 123456 123456 123789 所有執行完sql後的結果順序與原id順序相同,另外由於涉及到數十萬條記錄的操作,要求速度要快 要求結果1 去除重複id,顯示記錄結果為 123456 123123 123789 要求...