asp.net core系列 72 Exceptionless使用介紹
- 2019 年 10 月 3 日
- 筆記
一.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、kibanaredis 地址或端口。在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/tree/master/src/Platforms/Exceptionless.NLog
三.項目集成
下面控制台程序引用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