cx_oracle写日志信息_看日志痛苦——可能是你方法不对
看日志,是研發(fā)的日常工作,相信你已經(jīng)從各種報錯日志中查出許多BUG,但也被冗長、復雜的日志困擾過無數(shù)次。
在日常工作中,我也經(jīng)常痛苦于看日志,一般是這些日志長得面目猙獰:
- 日志文件太大,打開都很困難
- 日志文件里的信息錯綜復雜,各個模塊的時序糾纏不清
- 日志搜集引擎導出的文件被切割成多個文件,很難聯(lián)系上下文來看
不僅日志看的不順眼,看日志的工具也不蹭手:
- 搜索完關鍵詞,上下跳幾次,就忘記要干什么了(我是誰,我在哪,我在干嘛?)
- 想按某個關鍵字過濾日志,有的工具還不支持
- 剛剛自己分析得頭頭是道,一叫人過來就忘記從哪看起了
其實,這些問題,我們可以分為兩類來看待。一類是工具問題,也就是工具的功能還不夠完善;一類是方法問題,也就是缺少系統(tǒng)的方法來從日志中排查問題。
對于前者,我們需要的是專業(yè)的日志查看工具,而不是使用編輯器;對于后者,我有總結了一些方法論,倒是可以分享分享。
思路可視化
回顧看,排查日志一般步驟是:了解問題 => 定位出錯位置 => 查看上下文 => 推測出錯原因
而在這個過程中,如果我們把日志看做一維的線條,那么看日志就是在線條里,前前后后的跳轉,搜集信息,然后總結得出結論。
而上面提到的一些問題,比如看日志忘記看到哪里了,講解不知從而談起等等,其實是沒有把日志瀏覽的足跡、搜集的信息、總結的疑點、結論記錄下來。
要把這些信息記錄并可視化,你認為最合適的方式是什么呢?
我的方式是“時間線”。
像整理歷史事件,分析歷史事件一樣,我們看到日志中有價值的地方,就做一個標記,把它放入時間線里。
起初,時間線只是一個書簽欄,幫我們記錄位置信息。比如出錯位置在哪里,xx時間xxx在干嘛,xx在xx之前/之后等等
接著,我們開始結合日志+時間線,找到一些疑點。這個地方可疑,加個備注;這個地方的時序貌似不對,標個黃色;這個事件似乎沒啥意義,先刪了
上面的可疑點的梳理,基本圍繞著“時間線條”這個工具在走,但,其實本質上是對你自己思路的檢視,也就是,這個時候的“時間線”已經(jīng)在扮演思路可視化的過程了。
最后,我們對可疑點進一步升華,發(fā)現(xiàn)了這份日志對應問題的根本原因。
這時候,時間線(思路的可視化),還能給你帶來另一個價值——我們可以把這一份整理后的時間線發(fā)給相關人員,陳述你對日志的分析過程,是不是比直接文字表述更直觀了?
主體+輔助
上面提到的“時間線”,其核心是保持思路一直延續(xù),不被工具操作,或是其他信息干擾、打斷。
思路在線,是排查日志最關鍵的一點。時間線是從時間維度來幫助我們做到思路在線,而“過濾窗”則可以幫助我們在“信息維度”保持思路在線。
日志排查的過程中,經(jīng)常要用到的功能是:過濾含某個關鍵字的日志。但是僅僅過濾就行了嗎?
如果只是過濾的話,會導致信息丟失。我們其實需要了解的是在整個日志范疇,這個過濾規(guī)則下的行為發(fā)生了什么,分布在哪些位置,上下文(其他模塊)在干嘛,與我剛剛記錄到時間線里的信息前后關系是怎樣的……
也就是說,按關鍵字過濾出的信息除本身的信息價值外,還需要對照主體日志來提取更多信息。換言之,既是平行的,又是交錯的。
那么,怎樣才能合理的解決這個矛盾呢?
我把關鍵字過濾出的信息定義為輔助信息,放在過濾小窗,主體窗口顯示完整日志,實現(xiàn)平行查看;同時,以“時間”為“紐帶”連接“主體窗口”、“過濾小窗”、“時間線”,無論雙擊哪一個窗口中的事件,其他兩個窗口都會立即定位到對應位置,這就實現(xiàn)了信息交織。
且看下圖:
圖中3大區(qū)域,左上是主體窗口,左下是過濾小窗,右邊是時間線。
TAG
仍然圍繞“思路在線”,時間(思路)和信息維度,我們都解決了,還有什么困擾呢?
輔助工具!
看日志可不是一兩個關鍵詞搜索就能搞定的(能搜索一兩個關鍵詞搞定的,那只能叫做瞄一眼),而是很多。那么,最好能把搜索過的關鍵詞記錄下來,最好還能用不同的顏色標記出來。
所以,我還設計了一個TAG欄,記錄當前高亮的關鍵詞;然后在搜索欄里,加入了歷史功能,可以自動補全之前輸入過的單詞。
其他
為了讓天下沒有難看的日志,定位到xx行、前進/后退、反向搜索、字體設置……等等,這些功能也不能少
既然把日志分析這件事已經(jīng)摸索出了一定的經(jīng)驗和方法,而現(xiàn)有工具又沒有特別蹭手的,當然是要自己寫一個了!
來看看我寫的loginsight吧:
loginsight?github.com總結
以上是生活随笔為你收集整理的cx_oracle写日志信息_看日志痛苦——可能是你方法不对的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果M3处理器有多牛iPhone 15系
- 下一篇: 电脑装机完没有efi_电脑装机如何选内存