一.Exceptionless介紹 Exceptionless專註於.net平臺提供實時錯誤和日誌報告。主要包括:錯誤通知、智能分組異常、詳細錯誤報告堆棧跟蹤、支持離線、UI查看重要錯誤和確定優先順序、儀錶板上的統計信息和趨勢、對異常標記為已修複,監視回歸、將事件標記為關鍵等。 1.1 服務端托管 對 ...
一.Exceptionless介紹
Exceptionless專註於.net平臺提供實時錯誤和日誌報告。主要包括:錯誤通知、智能分組異常、詳細錯誤報告堆棧跟蹤、支持離線、UI查看重要錯誤和確定優先順序、儀錶板上的統計信息和趨勢、對異常標記為已修複,監視回歸、將事件標記為關鍵等。
1.1 服務端托管
對於Exceptionless有二種部署環境:
a.在Exceptionless官網創建帳號,跟著頁指導新建應用程式以及項目,官網會生成apikey,將apikey複製拿到net 對應項目中,在項目中安裝Exceptionless客戶端進行使用,日誌數據將存儲在Exceptionless官網。
b.自己搭建Exceptionless的伺服器環境,數據存儲在自己的伺服器上。對於a種方案是直接省事,但有很多限制功能(如:不能添加成員),除非掏錢成會員。所以推薦使用b方案。
5.0版本發佈信息:https://github.com/exceptionless/Exceptionless/releases
1.2 自主托管
在Exceptionless5.0版本之前,要進行自主托管需要準備很多環境,生產環境包括.NET 4.7,Java JDK 1.8+,IIS 7.5,PowerShell 3+等環境。在Exceptionless5.新版本中官方已經準備了Docker鏡像部署很方便。
自主托管參考:https://github.com/exceptionless/Exceptionless/wiki/Self-Hosting
環境要求:linux或windows的Docker 18.09.0+
先下載 Exceptionless-5.0.0.zip (https://github.com/exceptionless/Exceptionless/wiki/Self-Hosting),在安裝Exceptionless自主托管之前,需要先安裝好如下:
(1) elasticsearch:5.6.16 (存儲與大數據檢索)
(2) kibana:5.6.16(UI展示)
(3) Redis
然後再修改Exceptionless下的docker-compose.yml文件配置,修改裡面有關elasticsearch、kibana\redis 地址或埠。在docker終端使用命令:docker-compose up -d在後臺運行docker。這是自托管的推薦方法。
安裝成功後預設啟動 http://localhost:5000 進入Exceptionless登錄頁面,註冊用戶,添加組織、添加項目、選擇項目類型並且記住apikey,如下所示:
下麵選擇了Console and Service applications項目類型,並產生了apikey 如下所示:
接著開發成員註冊,並邀請到項目中來,如下所示:
二.項目引用nuget包說明
在.net項目中引用包:
Install-Package Exceptionless -Version 4.3.2027
如果是asp.net core,則會引用下麵包
Install-Package Exceptionless.AspNetCore
Exceptionless還可以與Nlog集成,下麵是NLog引用包:
Install-Package Exceptionless.NLog -Version 4.3.2027
Exceptionless集成了nlog資料:https://github.com/exceptionless/Exceptionless.Net/blob/master/samples/Exceptionless.SampleConsole/Program.cs
三.項目集成
下麵控制台程式引用nuget包:
Install-Package Exceptionless -Version 4.3.2027
using Exceptionless;
//main方法中設置 Exceptionless.ExceptionlessClient.Default.Configuration.ServerUrl = "http://localhost:5000"; Exceptionless.ExceptionlessClient.Default.Startup("aE3KwemN8QMBe5eSmGbi5j8PhlNFTgKezBazJCQO");
//異常測試提交 try { throw new Exception("測試異常"); } catch (Exception ex) { ex.ToExceptionless().Submit(); }
提交成功如下所示:
更多使用參考: https://github.com/exceptionless/Exceptionless/wiki