有沒有熟悉這樣的場景:
時間已過十一點,空蕩蕩的辦公室只剩自己孤身一人,陪你伏案忙碌的只有電腦風扇被迫營業的“嗡嗡”聲, 窗外的夜正黑得帶勁,仿佛巨獸的口吞噬自己的無奈,
天性善良不善言辭的你,容易被人頤指氣使,加班對你來說是家常便飯,
作為一名碼農,“我到底哪里錯了,我需要怎么解決?”是我的座右銘,但是,解決問題的程序需要耐心和細心,需要在大檔案日志中尋找問題線索,耗費巨量的時間和精力,因此,加班分析并解決問題是常有的事情,
有時候想,如果分析日志程序能高效,是不是就可以減少無意義的班?節約出來的時間老婆孩子熱炕頭豈不美哉,
本文介紹的 Notepad++ 和 AnalysePlugin 絕妙組合,在分析大檔案日志上大放異彩,簡直是“神兵利器”,特別對初入職場的碼農,文字或者資料統計相關從業人員特別有用,職場老手應該都會有自己的獨家秘籍,見仁見智,沒有標準答案,能達成目標即好方法,文章是本人經驗總結,不喜勿噴,歡迎多多留言關注,謝謝~~~
話不多說,本文重點講解如何使用 Notpad++ 配合 AnalysePlugin 分析大檔案日志,找到目標日志資訊,
存在問題
大檔案日志分析,我們需要一次性搜索多個關鍵字,將面臨兩個問題,
一. 多日志檔案,不知道關鍵字在哪些檔案里
面對幾個 GB 的大檔案日志,例如安卓系統應用出現無回應問題時,系統會自動生成多個例外跟蹤檔案并自動保存,導致存在過多的日志檔案,
如何找到關注日志在哪個檔案呢?
通常的程序是這樣的:
for(int i = 1 ; i <= 日志檔案數目;++i){
1. 打開單個日志檔案
2. bool result = ctrl + F 搜索目標關鍵字
if(result){
3. 保存,
}
4. 獲取保存所有帶目標關鍵字日志
for(int j = 1 ; j <= 目標關鍵字日志數目;++j){
5. 打開初步檔案看是否存在有用資訊,定位問題,
}
}
是不是有點像大海撈針的感覺?
打開所有的日志檔案,然后一個個查看是不是目標日志檔案,該方法肯定可行,無非就是多花點時間,
只要方法是對的,總可以完成,然而,你有沒有想過,憑啥這種“不用腦子”的體力活要你干?爺的時間就這么不值錢嗎?有這時間刷刷劇,打把游戲不香嗎?
二.無法有重點的分析日志
舉個例子,我們需要在日志檔案中查找 "onLayout"、"SQLiteLog"、"java.lang.RuntimeException",以定位問題,在關注日志時,我們需要注意以下幾點:
- 如果應用程式崩潰了,我們會重點關注 "java.lang.RuntimeException",
- 如果沒有發現 "RuntimeException",則可能會關注與 "SQLiteLog" 相關的警告,
- 如果甚至連系統警告都沒有,那么只能查看與應用程式相關的 "onLayout" 日志,
通常的做法是直接搜索關鍵字,這樣做雖然可行,但給人的感覺不夠直觀,由于螢屏小且高度近視,搜索結果都是一堆黃色的漿糊,無法有效區分日志級別,不利于重點突出地分析問題,
如下在Notepad++中的搜索結果,只要是關鍵字都是黃色,
一般的處理思路是,將就著看就行,別沒事找事,被子反正第二天會睡不好,索性不疊了~~~,哈哈!
不過,碼農應該都有潔癖,長期沉浸在祖傳的“屎山”中,增刪改查,誰不都會說:“我去,垃圾代碼!”如果是我,我會怎么怎么做,
看吧,是個人都不會將就,如果有更好的選擇 ??,
如何解決
一. 如何在多檔案中快速查找目標關鍵字
首先,你得安裝一個Notepad++,
不會的去問度娘或谷歌,細講只會拉低本檔案次和目標人群,再次重申,本文只適合高端高智商帥哥美女閱讀!
其次,批量選中需要搜索的多個檔案,右鍵打開方式中選中 Notepad++ 打開,
如果 Notepad++ 之前打開過其他檔案,可以先關閉,不要影響到這次打開檔案就行,保證當前打開都是目標搜索檔案,不然影響搜索結果,
最后,你自己操作一遍,
如下是我為你準備的愛心錄屏,我同時選中了多個檔案,然后在這些檔案中搜索關鍵字“ANR”,結果顯示所有打開的檔案中有兩個檔案包含該關鍵字,這樣我就知道這兩個檔案是有用的,其他的可以不用管,
二. 如何有重點的分析日志
可通過 AnalysePlugin 插件來解決,
AnalysePlugin 支持正則運算式或轉義模式搜索日志,并為每個搜索設定不同顏色,搜索結果將按照與原點相同的順序存盤在固定視窗中,雙擊可以跳轉到原始位置,
效果如下:
如何安裝 AnalysePlugin
步驟:NotePad++ → 插件 → 插件管理 → 搜索 AnalysePlugin→ 勾選 → 點擊右側安裝,安裝成功后會出現一個獨有圖示,這就表示安裝成功,
愛心視頻如下:
如何使用
還是以開頭例子來說明:查找”onLayout”、”SQLiteLog”、”java.lang.RuntimeException” 并且區分日志級別,onLayout 用藍色表示,SQLiteLog 用黃色表示,而例外 java.lang.RuntimeException 則用紅色表示,
如圖所示按照如下步驟來添加和設定顏色,
AnalysePlugin 選單中有很多配置可以設定,例如,Colour BG 可以設定背景色,Search type 中支持正則運算式等,Comment 還可以給關鍵字添加注釋,這里不再一一介紹,
這樣,我們就可以將日志區分開來,關注我們定義的日志級別,有針對性地分析日志,
注意事項
官方說明 NotePad++ 需要 ≥ 5.1 以上才支持 AnalysePlugin,
總結
本文重點介紹如何分析大型日志檔案的兩個主要步驟,第一個是如何在多個檔案中找到需要關注的檔案,第二個是如何在關注的檔案中直觀地查看關鍵字,以便有針對性地解決問題,
每個人解決問題的方式都不同,希望可以將更好的方法分享給大家,我認為隨著自然語言處理技術的發展,我們可能不需要這些技巧了,通過自然語言處理技術,將所有日志錄入,讓計算機理解,然后直接讓它分析問題并給出方案即可,目前我還沒有找到這樣的工具,如果有大佬們發現了,也歡迎分享哦~~,
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/552648.html
標籤:其他
上一篇:跑步課程匯入能力,助力科學訓練
下一篇:返回列表