溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何分析.Net Core集成Exceptionless分布式日志功能以及全局異常過濾

發(fā)布時間:2022-01-05 16:34:43 來源:億速云 閱讀:137 作者:柒染 欄目:大數(shù)據(jù)

如何分析.Net Core集成Exceptionless分布式日志功能以及全局異常過濾,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

手動發(fā)送錯誤

導入命名空間后,并使用如下代碼就可以簡單地提交異常日志:

try {  
 throw new ApplicationException(Guid.NewGuid().ToString()); } catch (Exception ex) {    ex.ToExceptionless().Submit(); }

發(fā)送附加信息

當然你還可以為發(fā)送的事件添加額外的標記信息,比如坐標,標簽,以及其他的用戶相關的信息等等

統(tǒng)一修改未處理的異常報告

你可以在通過SubmittingEvent 事件設置全局的忽略異常信息添加一些自定義信息等等

配合使用 NLog 或 Log4Net

有時候,程序中需要對日志信息做非常詳細的記錄,比如在開發(fā)階段。這個時候可以配合 log4net 或者 nlog 來聯(lián)合使用 exceptionless,詳細可以查看這個官方的 [示例][https://github.com/exceptionless/Exceptionless.Net/tree/master/samples/Exceptionless.SampleConsole]。

如果你的程序中有在短時間內(nèi)生成大量日志的情況,比如一分鐘產(chǎn)生上千的日志。這個時候你需要使用內(nèi)存存儲(in-memory store)事件,這樣客戶端就不會將事件系列化的磁盤,所以會快很多。這樣就可以使用Log4net 或者 Nlog來將一些事件存儲到磁盤,另外 Exceptionless 事件存儲到內(nèi)存當中。

Exceptionless 日志記錄的封裝

1.首先簡單地封裝一個ILoggerHelper接口

如何分析.Net Core集成Exceptionless分布式日志功能以及全局異常過濾

如何分析.Net Core集成Exceptionless分布式日志功能以及全局異常過濾  

既然有了接口,那么當然得實現(xiàn)它了

如何分析.Net Core集成Exceptionless分布式日志功能以及全局異常過濾

  1. 當然實現(xiàn)好了,可別忘了依賴注入哦

 //注入ExceptionlessLogger服務
            services.AddSingleton<ILoggerHelper, ExceptionlessLogger>();
  1. 這時候該寫一個全局異常過濾器了

如何分析.Net Core集成Exceptionless分布式日志功能以及全局異常過濾

  1. 全局過濾器寫好了,怎么讓它生效呢,客觀別急啊,上正菜

      //添加驗證
                services.AddMvc(options=> {
                    options.Filters.Add<GlobalExceptionFilter>();
                }).AddFluentValidation();
  2. 哈哈,沒什么說的了,代碼都已經(jīng)寫好了,剩下的就是上代碼測試結果了。我這里只是簡單地api測試下,萬能的ValuesController登場:

如何分析.Net Core集成Exceptionless分布式日志功能以及全局異常過濾

  1. 這里是直接拋出異常,不進行trycatch,這時候異常會被全局過濾器捕獲,然后放到Exceptionless的Log里面,別問我為什么會在log里面,因為我全局過濾器代碼里面已經(jīng)寫明了,不明白的回去看代碼,然后看接口調用的實現(xiàn)方法。下面上結果:

    如何分析.Net Core集成Exceptionless分布式日志功能以及全局異常過濾

點進去,看看詳細信息:

如何分析.Net Core集成Exceptionless分布式日志功能以及全局異常過濾

  1. 再測試下使用try catch捕獲的異常處理,這時候異常信息會被提交到Exception這個里面。直接上代碼吧

如何分析.Net Core集成Exceptionless分布式日志功能以及全局異常過濾

到exceptionless里面看看不活的異常吧。打字很累直接上圖吧

如何分析.Net Core集成Exceptionless分布式日志功能以及全局異常過濾

點進去看看詳細信息,有三個tab,下面之粘貼一個圖片了:

如何分析.Net Core集成Exceptionless分布式日志功能以及全局異常過濾

關于如何分析.Net Core集成Exceptionless分布式日志功能以及全局異常過濾問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業(yè)資訊頻道了解更多相關知識。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI