一、前言
1、分布式異常日志收集框架Exceptionless是開源的工具,根據官方給出的說明: Exceptionless可以為您的ASP.NET、Web API、WebFrm、WPF、控制台和MVC應用程序提供實時錯誤、特性和日志報告。它將收集的信息組織成簡單的可操作的數據,這些數據將幫助你很方便的查看異常信息。
2、Exceptionless提供兩種使用方式,一種是 官網創建賬號;一種是自己搭建本地項目。官網上創建賬號的操作方式可以參考github上的官方wiki。此處主要介紹本地部署。
閱讀目錄
- 前言
- 環境要求
- 部署Exceptionless
- .NET Core結合Exceptionless
- 總結
二、環境要求
根據Exceptionless 給出的環境要求如下:
測試環境:
- 操作系統windows
- .NET 4.6.1
- JAVA JDK1.8+
- IIS Express 7.5+(win7以上系統都沒有問題)
- Elasticsearch 5.x
生產環境:
- 操作系統windows或Linux
- .NET 4.7
- JAVA JDK1.8+
- IIS Express 7.5+(win7以上系統都沒有問題)
- Elasticsearch 5.x(部署在Linux上(強烈建議),並且是多節點運行)
- Redis 3.0+(可選,部署在Linux上(強烈建議))
三、部署Exceptionless
1、配置JAVA JDK 1.8
說明:為什么需要安裝JAVA JDK呢?由於es需要依賴此環境。
第一步:從官網上下載JDK windows 包
地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
第二步:安裝JDK后配置windows環境變量
設置系統變量添加java jdk的安裝目錄。

在用戶變量中添加 JAVA_HOME的系統變量路徑。

配置結束。查看JAVA是否安裝成功。提示如下:即代表安裝成功。

2、部署Exceptionless
Exceptionless 下載地址:https://github.com/exceptionless/Exceptionless/releases
下載后解壓出來:把wwwroot部署在IIS上

此處項目的端口可自己配置,默認是50000。
如需自己配置需要修改一下幾個地方:
第一:修改web.config 中的BaseURL 中的端口。
第二:修改app.config.*.js文件中的 BASE_URL 端口。
第三:IIS上端口需要設置為自己的端口。
3、一鍵安裝 es
雙擊打開 Start.bat,這將自動啟動Elasticsearch,IIS Express和默認瀏覽器到Exceptionless登錄頁面。
注:如果出現錯誤,請確保java 環境安裝完成。

安裝結束當前目錄下會出現es和kibana,以及自動打開 Exceptionless 項目

4、注冊本地賬號Exceptionless
第一步:注冊賬號


第二步:注冊完后即可進入到主頁面。創建一個組織和項目名(每個項目都有對應唯一的apikey)

第三步:選擇項目多對應的類型。選擇完后會出現對應的安裝提示。

四、.NET Core結合Exceptionless
1、新建一個.NET Core項目
引入nuget包:

2、配置appsettings.json
此處的ApiKey在 Exceptionless中所創建項目獲取,正是根據這個我們才能把項目匹配到exceptionless中
"Exceptionless": { "ApiKey": "aW6nxAsLNE5JcFthRbjbh5Ot2iFk4MgrcZtC35Ut", "ServerUrl": "http://localhost:50000" }
3、配置Startup.cs
public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } ExceptionlessClient.Default.Configuration.ApiKey = Configuration.GetSection("Exceptionless:ApiKey").Value; ExceptionlessClient.Default.Configuration.ServerUrl = Configuration.GetSection("Exceptionless:ServerUrl").Value; app.UseExceptionless(); app.UseMvc(); }
4、Controller 控制器添加測試代碼異常
[Route("api/[controller]")] public class ValuesController : Controller { [HttpGet] public ActionResult Get() { try { throw new Exception("LouieGuo測試項目的異常"); } catch (Exception ex) { ex.ToExceptionless().Submit(); //這個很重要 } return Ok(); } }
5、運行項目,然后打開Exceptionless Dashboard
可以看到 已經有錯誤信息顯示了。

五、總結
此文配置只是測試,生產環境請使用自己部署的es和redis等。希望能幫助到你。
參考資料:
github:https://github.com/exceptionless/Exceptionless/wiki/Self-Hosting
KAnts:https://www.cnblogs.com/ants/p/8580890.html
依樂祝:https://www.cnblogs.com/yilezhu/p/9193723.html
uptothesky:http://www.cnblogs.com/uptothesky/p/5864863.html
asp.net core 交流群:787464275 歡迎加群交流
如果您認為這篇文章還不錯或者有所收獲,您可以點擊右下角的【推薦】按鈕精神支持,因為這種支持是我繼續寫作,分享的最大動力!
微信公眾號:歡迎關注 QQ技術交流群: 歡迎加群

