統(tǒng)一錯誤日志管理方法
【專利摘要】本發(fā)明涉及統(tǒng)一錯誤日志管理方法。本發(fā)明針對現(xiàn)有技術(shù)中在每一個可能出現(xiàn)錯誤的地方都需要去獨立的寫日志記錄會加重代碼的維護難度和增加重復(fù)的代碼邏輯的問題,提供一種統(tǒng)一錯誤日志管理,包括以下步驟:系統(tǒng)運行待檢測程序,檢測到異常時,啟動異常記錄程序?qū)Ξ惓P畔⑦M行記錄,并將異常信息進行統(tǒng)一存儲。使用Nlog和Exception Filter Attribute的特性實現(xiàn)了在最外層捕獲日志并記錄在數(shù)據(jù)庫中,實現(xiàn)了Log的統(tǒng)一捕獲和記錄,避免了獨立寫try catch模塊記錄日志。適用于統(tǒng)一錯誤日志管理。
【專利說明】
統(tǒng)一錯誤日志管理方法
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及日志管理,特別涉及統(tǒng)一錯誤日志管理。
【背景技術(shù)】
[0002]平臺維護時,由于各種突發(fā)的情況導(dǎo)致不可預(yù)料的錯誤出現(xiàn),此時需要使用日志 技術(shù)來記錄錯誤以及錯誤發(fā)生的堆棧信息?,F(xiàn)有技術(shù)中是在每一個可能出現(xiàn)錯誤的地方都 需要都去獨立的寫日志記錄會加重代碼的維護難度和增加重復(fù)的代碼邏輯。其工作代碼如 下:
[0004] 需要獨立的寫try catch模塊記錄日志。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明所要解決的技術(shù)問題,就是提供一種統(tǒng)一錯誤日志管理方法以實現(xiàn)統(tǒng)一錯 誤日志記錄,避免獨立的寫try catch模塊記錄日志。
[0006] 本發(fā)明解決所述技術(shù)問題,采用的技術(shù)方案是,統(tǒng)一錯誤日志管理,包括以下步 驟:系統(tǒng)運行待檢測程序,檢測到異常時,啟動異常記錄程序?qū)Ξ惓P畔⑦M行記錄,并將異 常信息進行統(tǒng)一存儲。
[0007] 具體的,系統(tǒng)通過使用Log Exception Filter實現(xiàn)父類Exception Filter Attribute的On Exception方法來檢測異常。
[0008] 進一步的,系統(tǒng)在On Exception方法中使用Nlog日志記錄工具對異常信息進行記 錄。
[0009] 具體的,異常信息統(tǒng)一存儲于錯誤日志數(shù)據(jù)庫和/或文件格式存儲,所述文件格式 至少包括文本、Json及xml格式。
[0010] 進一步的,系統(tǒng)采用直接交互數(shù)據(jù)庫的方式實現(xiàn)對異常信息進行記錄,并將其上 傳至錯誤日志數(shù)據(jù)庫中。
[0011] 具體的,所述異常信息至少包括日志ID、日志發(fā)生時間、日志級別、日志信息文本、 堆棧信息、日志來源及錯誤信息。
[0012] 本發(fā)明的有益效果是:使用Nlog和Exception Filter Attribute的特性實現(xiàn)了在 最外層捕獲日志并記錄在數(shù)據(jù)庫中,實現(xiàn)了Log的統(tǒng)一捕獲和記錄,避免了獨立寫try catch模塊記錄日志。
[0013] 以下結(jié)合實施例的【具體實施方式】,對本發(fā)明的上述內(nèi)容再作進一步的詳細說明。 但不應(yīng)將此理解為本發(fā)明上述主題的范圍僅限于以下的實例。在不脫離本發(fā)明上述技術(shù)思 想情況下,根據(jù)本領(lǐng)域普通技術(shù)知識和慣用手段做出的各種替換或變更,均應(yīng)包括在本發(fā) 明的范圍內(nèi)。
【具體實施方式】
[0014] 下面結(jié)合實施例詳細描述本發(fā)明的技術(shù)方案:
[0015] 本發(fā)明針對現(xiàn)有技術(shù)中在每一個可能出現(xiàn)錯誤的地方都需要去獨立的寫日志記 錄會加重代碼的維護難度和增加重復(fù)的代碼邏輯的問題,提供一種統(tǒng)一錯誤日志管理,包 括以下步驟:系統(tǒng)運行待檢測程序,檢測到異常時,啟動異常記錄程序?qū)Ξ惓P畔⑦M行記 錄,并將異常信息進行統(tǒng)一存儲。使用Nlog和Except ion Filter Attribute的特性實現(xiàn)了 在最外層捕獲日志并記錄在數(shù)據(jù)庫中,實現(xiàn)了 Log的統(tǒng)一捕獲和記錄,避免了獨立寫try catch模塊記錄日志。
[0016] 實施例
[0017]現(xiàn)有技術(shù)中常用的錯誤日志管理如下:
[0019] 需要獨立的寫try catch模塊記錄日志。當(dāng)系統(tǒng)運行待檢測程序時,運行上述錯誤 日志管理代碼后,當(dāng)檢測到任意代碼段有誤時,跳出運行程序?qū)﹀e誤代碼段進行記錄。
[0020] 而本例中,系統(tǒng)運行待檢測程序,檢測到異常時,啟動異常記錄程序?qū)Ξ惓P畔⑦M 行記錄,并將異常信息進行統(tǒng)一存儲。程序運行與異常記錄分開運行,相互并不影響。
[0021] 通過使用Log Exception Filter實現(xiàn)父類Exception Filter Attribute的On Exception方法來檢測異常。系統(tǒng)在On Exception方法中使用Nlog日志記錄工具對異常信 息進行記錄。其運行代碼結(jié)構(gòu)如下所示:
[0023]其中,Log Exception Filter的實現(xiàn)依賴于.net web Api的Exception Filter Attribute實現(xiàn),結(jié)構(gòu)如下所示:
[0026] 最后,利用Nlog的日志實現(xiàn)將Log Exception Filter捕獲的日志通過采用直接交 互數(shù)據(jù)庫的方式上傳至錯誤日志數(shù)據(jù)庫中。也可以直接將捕獲的日志進行文件格式存儲, 所述文件格式至少包括文本、Json及xml格式。捕獲的日志即異常信息中至少包括日志ID、 日志發(fā)生時間、日志級別、日志信息文本、堆棧信息、日志來源及錯誤信息。
【主權(quán)項】
1. 統(tǒng)一錯誤日志管理方法,其特征在于,包括以下步驟:系統(tǒng)運行待檢測程序,檢測到 異常時,啟動異常記錄程序?qū)Ξ惓P畔⑦M行記錄,并將異常信息進行統(tǒng)一存儲。2. 根據(jù)權(quán)利要求1所述的統(tǒng)一錯誤日志管理方法,其特征在于,系統(tǒng)通過使用Log Exception Filter實現(xiàn)父類Exception Filter Attribute的On Exception方法來檢測異 常。3. 根據(jù)權(quán)利要求2所述的統(tǒng)一錯誤日志管理方法,其特征在于,系統(tǒng)在On Exception方 法中使用Nlog日志記錄工具對異常信息進行記錄。4. 根據(jù)權(quán)利要求1所述的統(tǒng)一錯誤日志管理方法,其特征在于,異常信息統(tǒng)一存儲于錯 誤日志數(shù)據(jù)庫和/或文件格式存儲,所述文件格式至少包括文本、Json及xml格式。5. 根據(jù)權(quán)利要求4所述的統(tǒng)一錯誤日志管理方法,其特征在于,系統(tǒng)采用直接交互數(shù)據(jù) 庫的方式實現(xiàn)對異常信息進行記錄,并將其上傳至錯誤日志數(shù)據(jù)庫中。6. 根據(jù)權(quán)利要求1所述的統(tǒng)一錯誤日志管理方法,其特征在于,所述異常信息至少包括 日志ID、日志發(fā)生時間、日志級別、日志信息文本、堆棧信息、日志來源及錯誤信息。
【文檔編號】G06F17/30GK106095914SQ201610405167
【公開日】2016年11月9日
【申請日】2016年6月7日
【發(fā)明人】魏勁超, 江濤
【申請人】四川長虹電器股份有限公司