mars的xlog日志文件解析以及日志查看工具介紹

文章背景

有時(shí)候輪崗或者測(cè)試反饋bug時(shí),執(zhí)行python腳本不能快速的解析騰訊mars庫(kù)的xlog文件省容,如果能像普通txt文件一樣鼠標(biāo)右鍵就可以打開(kāi)就好了抖拴,因此本文介紹的主題之一就是如何快速執(zhí)行解密xlog文件。
另外腥椒,日志里面有大量無(wú)關(guān)信息阿宅,而且普通文本么有顏色區(qū)分,很難去用肉眼看笼蛛。如果用notepad++之類(lèi)是零散的日志過(guò)濾洒放,沒(méi)法去分析某個(gè)流程的業(yè)務(wù)邏輯是否有問(wèn)題。比如你需要tagA找到滿足A條件下的日志滨砍,然后又想知道A附近有沒(méi)有B的日志往湿,此時(shí)notepad++無(wú)法做到妖异。notepad++需要進(jìn)行兩次tag的過(guò)濾,而且每次看某一個(gè)tag時(shí)领追,無(wú)法清晰的看到另一個(gè)tag的日志他膳。下面會(huì)介紹一種有用的工具,解放肉眼蔓腐,并且可以做到共享配置矩乐,方便別人輪崗分析你的模塊龄句。

關(guān)于xlog文件解密

總共需要3個(gè)文件logdecode.bat回论、logdecode.reg、decode_log_file_20181013新版本.py


image.png

我接下來(lái)要配置三個(gè)文件分歇,以便完成鼠標(biāo)右鍵使用的光榮使命


image.png

我們接下來(lái)需要一個(gè)bat可執(zhí)行文件傀蓉,我們用它來(lái)進(jìn)行python腳本的執(zhí)行。
logdecode.bat批處理文件的內(nèi)容如下职抡,主要是申明你的python安裝路徑葬燎,以及你的python腳本路徑

c:\Python27\python.exe C:\Users\Administrator\Desktop\decode_mars_log_file舊版.py %*

下面這個(gè)是python解密文件,在官方腳本的基礎(chǔ)上缚甩,增加了對(duì)BOM-UTF-8谱净,避免下面介紹的日志查看工具無(wú)法顯示中文的問(wèn)題。

這個(gè)函數(shù)稍作修改擅威,避免日志分析工具看到中文是亂碼
def ParseFile(_file, _outfile):
    fp = open(_file, "rb")
    _buffer = bytearray(os.path.getsize(_file))
    fp.readinto(_buffer)
    fp.close()
    startpos = GetLogStartPos(_buffer, 2)
    if -1 == startpos:
        return

    outbuffer = bytearray()

    while True:
        startpos = DecodeBuffer(_buffer, startpos, outbuffer)
        if -1 == startpos: break;

    if 0 == len(outbuffer): return

    fpout = open(_outfile, "wb")
    fpout.write(codecs.BOM_UTF8)
    fpout.write(outbuffer)
    fpout.close()

image.png

最后重要的一步是如何放到鼠標(biāo)右鍵菜單里壕探,配置下面的.reg配置表文件

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\新版本解密Log\command]
@="logdecode.bat \"%1\""

接下來(lái)你只要雙擊reg文件運(yùn)行即可,然后你可以看到鼠標(biāo)右鍵已經(jīng)存在了郊丛。如果你logdecode.bat里配置錯(cuò)誤路徑或者其它李请,請(qǐng)清除解密日志的注冊(cè)表項(xiàng),然后再重新注冊(cè)下厉熟。

現(xiàn)在你可以用鼠標(biāo)右鍵快速解析需要的日志文件导盅,他會(huì)在當(dāng)前目錄生成解析后的文件,可以多選哦揍瑟。


image.png

關(guān)于日志查看

TextAnalysisTool.NET 白翻,這個(gè)是我們要用到的日志查看工具,我用的是2016的版本绢片。下載地址

image.png

大概的應(yīng)用界面如下滤馍,在加入過(guò)濾器后。


image.png

圖中橙色之類(lèi)的就是過(guò)濾條件杉畜,可以用正則去匹配纪蜒,滿足條件就可以標(biāo)記文本顏色或者行背景色。
右上角有個(gè)filters此叠,就是添加過(guò)濾tag的地方纯续。



增加的tag都顯示在下面随珠,可以取消勾中,以便只使用部分tag去過(guò)濾標(biāo)記日志猬错。
image.png

如果你想要沒(méi)被tag匹配中的日志行消失窗看,那么按Ctrl+H快捷鍵,即可隱藏倦炒。如果恢復(fù)到原樣显沈,再按一次即可。現(xiàn)在你可以同時(shí)查看不同條件下滿足的日志組成的一套流程日志了逢唤,可以分析各種業(yè)務(wù)流程拉讯,如activity生命周期、發(fā)送文件流程鳖藕,推送消息是否收到并且通知到業(yè)務(wù)層刷新等等


image.png

如果你想回到某一個(gè)tag標(biāo)記的顏色的日志行附近魔慷,你點(diǎn)擊選中那一行,然后按Ctrl+H著恩,這樣恢復(fù)的界面就是在這一個(gè)日志行附近院尔,非常方便。

如果你想保存這一次分析某個(gè)問(wèn)題的過(guò)濾條件喉誊,可以點(diǎn)擊下面這里


image.png

里面有Save filter選項(xiàng)邀摆,然后編輯你的tat過(guò)濾tag的文件的名字,保存即可伍茄。以后你可以拷貝給別人栋盹,或者自己再次選擇使用,比如下面這種


image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末幻林,一起剝皮案震驚了整個(gè)濱河市贞盯,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌沪饺,老刑警劉巖躏敢,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異整葡,居然都是意外死亡件余,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)遭居,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)啼器,“玉大人,你說(shuō)我怎么就攤上這事俱萍《丝牵” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵枪蘑,是天一觀的道長(zhǎng)损谦。 經(jīng)常有香客問(wèn)我岖免,道長(zhǎng),這世上最難降的妖魔是什么照捡? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任颅湘,我火速辦了婚禮,結(jié)果婚禮上栗精,老公的妹妹穿的比我還像新娘闯参。我一直安慰自己,他們只是感情好悲立,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布鹿寨。 她就那樣靜靜地躺著,像睡著了一般级历。 火紅的嫁衣襯著肌膚如雪释移。 梳的紋絲不亂的頭發(fā)上叭披,一...
    開(kāi)封第一講書(shū)人閱讀 51,573評(píng)論 1 305
  • 那天寥殖,我揣著相機(jī)與錄音,去河邊找鬼涩蜘。 笑死嚼贡,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的同诫。 我是一名探鬼主播粤策,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼误窖!你這毒婦竟也來(lái)了叮盘?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤霹俺,失蹤者是張志新(化名)和其女友劉穎柔吼,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體丙唧,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡愈魏,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了想际。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片培漏。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖胡本,靈堂內(nèi)的尸體忽然破棺而出牌柄,到底是詐尸還是另有隱情,我是刑警寧澤侧甫,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布珊佣,位于F島的核電站傻昙,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏彩扔。R本人自食惡果不足惜妆档,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望虫碉。 院中可真熱鬧贾惦,春花似錦、人聲如沸敦捧。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)兢卵。三九已至习瑰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間秽荤,已是汗流浹背甜奄。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留窃款,地道東北人课兄。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像晨继,于是被迫代替她去往敵國(guó)和親烟阐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 個(gè)人學(xué)習(xí)批處理的初衷來(lái)源于實(shí)際工作紊扬;在某個(gè)迭代版本有個(gè)BS(安卓手游模擬器)大需求蜒茄,從而在測(cè)試過(guò)程中就重復(fù)涉及到...
    Luckykailiu閱讀 4,718評(píng)論 0 11
  • ORA-00001: 違反唯一約束條件 (.) 錯(cuò)誤說(shuō)明:當(dāng)在唯一索引所對(duì)應(yīng)的列上鍵入重復(fù)值時(shí),會(huì)觸發(fā)此異常餐屎。 O...
    我想起個(gè)好名字閱讀 5,317評(píng)論 0 9
  • 跑步是個(gè)有益身心的運(yùn)動(dòng)檀葛,每每生病、精神不振啤挎、看到身上肉肉的驻谆,就會(huì)想到如果可以堅(jiān)持下來(lái),那整個(gè)人必定氣色大好庆聘,精神也...
    安靜的瘋女子M閱讀 99評(píng)論 0 0
  • 若不是為了學(xué)習(xí)日語(yǔ)胜臊,我想我也不會(huì)有機(jī)會(huì)參加一個(gè)只有四位學(xué)生的課堂。雖然有聽(tīng)一同來(lái)的同學(xué)說(shuō)過(guò)他們竟然有課程是與老師一...
    采月光的人閱讀 120評(píng)論 0 0
  • 林海峰 天氣伙判,是一個(gè)特別的詞語(yǔ) 天象对,是一個(gè)系統(tǒng)!氣宴抚,是一個(gè)契機(jī)勒魔!這個(gè)世界所有的一切甫煞,都可以從這里開(kāi)始,某種程度上講...
    may_L閱讀 107評(píng)論 0 0