ide 日志 乱码_IDE日志分析方法pt。 2
ide 日志 亂碼
介紹
在第一部分中,我解釋了測(cè)井分析的理論方法,我認(rèn)為這對(duì)維持工程師是最好的。 該工程師不需要在日志出現(xiàn)時(shí)立即對(duì)其進(jìn)行分析,而是專注于對(duì)復(fù)雜問(wèn)題的深入分析。 在第二部分中,我將展示一個(gè)復(fù)雜的模板可以涵蓋許多搜索方案并顯示一個(gè)有效的原型。
搜索對(duì)象模板
搜索模板的主要要求是它必須是復(fù)雜的,在最佳情況下必須非常復(fù)雜。 手動(dòng)搜索越少越好。 復(fù)雜的模板應(yīng)完成大部分工作并快速完成。 由于我們這里沒(méi)有任何服務(wù)器,因此只有預(yù)期可處理2-3 GB日志速度的開(kāi)發(fā)人員PC也很重要。
主要正則表達(dá)式
模板應(yīng)該聲明一些正則表達(dá)式,這些正則表達(dá)式將在日志中搜索(使用Matcher.find)。 如果首先聲明了多個(gè),則收集第一個(gè)的結(jié)果,然后收集第二個(gè)的結(jié)果,等等。從最一般的意義上講,搜索的結(jié)果是字符串?dāng)?shù)組– List <String>。
驗(yàn)收標(biāo)準(zhǔn)
搜索過(guò)程并不接受所有結(jié)果。 例如,工程師可以搜索除“ X”以外的所有連接類型。 然后,他或她可以創(chuàng)建一個(gè)接受標(biāo)準(zhǔn)并過(guò)濾掉它們。 通過(guò)指定正則表達(dá)式“除X外的任何類型”。 另一種可能性是在時(shí)間間隔內(nèi)搜索。 工程師可以搜索10到12個(gè)小時(shí)之間的任何日志記錄(他或她必須輸入課程的完整日期)。
尋找不同的表達(dá)也是可能的。 在這種情況下,工程師會(huì)指定一個(gè)以上的正則表達(dá)式(一般情況下會(huì)指定多個(gè))。 一個(gè)例子將更好地解釋這個(gè)概念。
不同的正則表達(dá)式:
connection type (q|w)主正則表達(dá)式找到的日志記錄:
connection type w found connection type q created connection type s destroyed connection type q found獨(dú)特搜索的結(jié)果:
connection type w found connection type q created參量
正則表達(dá)式的問(wèn)題之一是,真正有用的正則表達(dá)式非常長(zhǎng)且笨拙。 以下是日志中的樣本日期:
2018-08-06 10:32:12.234這是它的正則表達(dá)式:
\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d.\d\d\d解決方案非常簡(jiǎn)單–使用替代。 我稱它們?yōu)檎齽t表達(dá)式的參數(shù)。 有些參數(shù)可能像記錄時(shí)間一樣是靜態(tài)的,但有些參數(shù)可能由用戶定義。 在執(zhí)行之前,立即將參數(shù)替換為實(shí)際值。
觀看次數(shù)
搜索的結(jié)果是日志記錄,即類似
2018-08-06 10:32:12.234 [Thread-1] DEBUG - Connection 1234 moved from state Q to state W \r?\n雖然找到模板中定義的內(nèi)容很棒,但最好將信息分成有用的部分。 例如,此表以簡(jiǎn)潔明了的方式表示該記錄中的所有有用信息:
| 連接 | 1234 | 問(wèn) -> w ^
要提取這些信息,我們可以使用“查看”方法。 這意味著聲明在日志記錄中搜索的較小的正則表達(dá)式,并返回有關(guān)日志記錄的信息。 就像該日志記錄的視圖一樣。 在表格中顯示所有內(nèi)容使其更易于閱讀。 表也??可以按任何列排序。
排序與合并
使用模板進(jìn)行這種搜索的最有效方法是使用線程池,并將每個(gè)線程分配給日志文件。 假設(shè)池中有3-4個(gè)線程,則搜索速度將提高3-4倍。 但是合并結(jié)果成為一個(gè)重要的問(wèn)題。 這里可以有2個(gè)解決方案:
合并看起來(lái)是一種更高級(jí)的技術(shù),它使我們能夠保留記錄的原始順序。
工作流程
最后的想法
在本文中達(dá)到這一點(diǎn)的每個(gè)人都必須困擾的問(wèn)題是:是否有人試圖實(shí)現(xiàn)所有這一切? 答案是肯定的! 有一個(gè)基于Eclipse框架的有效應(yīng)用程序,其中包括Spring XML配置和許多其他內(nèi)容。 搜索對(duì)象模板的工作方式如本文所述。
這是Github鏈接:
https://github.com/xaltotungreat/regex-analyzer-0
為什么是0? 好吧,它原本只是一個(gè)原型,但在某種程度上仍然是原型。 我稱這個(gè)應(yīng)用程序?yàn)镽EAL
[R egular
?Xpressions的
分析儀 對(duì)于L OGS
假定用戶具有一些如何導(dǎo)出Eclipse RCP應(yīng)用程序或如何從Eclipse IDE中啟動(dòng)它的知識(shí)。 不幸的是,我沒(méi)有足夠的時(shí)間來(lái)編寫(xiě)有關(guān)它的任何好的文檔。 默認(rèn)情況下,它可以分析HBase日志,并且config文件夾中有很多示例。
翻譯自: https://www.javacodegeeks.com/2018/11/ide-approach-log-analysis-pt-2.html
ide 日志 亂碼
總結(jié)
以上是生活随笔為你收集整理的ide 日志 乱码_IDE日志分析方法pt。 2的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 安卓 红外(红外安卓手机)
- 下一篇: 无服务器–仅仅是构建现代应用程序的一种方