最近在學習張善友老師的NanoFabric 框架的時了解到Exceptionless : https://exceptionless.com/ !因此學習了一下這個開源框架!下面對Exceptionless的學習做下筆記!
Exceptionless是什么?能做什么呢?
“Exceptionless”這個詞的定義是:沒有異常。Exceptionless可以為您的ASP.NET、Web API、WebFrm、WPF、控制台和MVC應用程序提供實時錯誤、特性和日志報告。它將收集的信息組織成簡單的可操作的數據,這些數據將幫助你很方便的查看異常信息。還有最重要的是,它是開源的!
Exceptionless的使用方式有哪些?
1.官網創建帳號,並新建應用程序以及項目,然后生成apikey(數據存儲在Exceptionless)
2.自己搭建Exceptionless的環境,部署在本地(數據存儲在本地)
Exceptionless的運行環境有哪些要求?需要安裝哪些軟件,進行什么配置呢?
- .NET 4.6.1 (安裝了.net core 或者vs2017的話環境應該都沒問題,不需要額外安裝)
- Java JDK 1.8+(如果使用windows系統的話需要配置環境變量,這個使用過java的人應該都知道吧!相信對於你來說應該不是難事).下載地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
- IIS Express 8+(win 7以上環境應該都沒問題,不需要額外安裝)
- PowerShell 3+(win 7以上環境應該都沒問題,不需要額外安裝)
- 這里分win7(管理員身份運行cmd ,然后復制下面這條命令,按回車就行了
powershell Set-ExecutionPolicy Unrestricted
) 以及 win10(管理員身份運行powershell,然后執行powershell Set-ExecutionPolicy Unrestricted
) - Elasticsearch 5.6 官方推薦這個版本,(當然你也可以不進行安裝,因為后面會教你如何自動安裝這個軟件)需要在歷史版本中找 ,下載地址:https://www.elastic.co/downloads/past-releases
Exceptionless下載以及配置
1.打包下載地址:https://github.com/exceptionless/Exceptionless/releases 如下圖所示進行下載就可以了!,別看只有15M有的人下載可能需要半個小時,別問為什么,因為~~~~~
2.下載完成之后,右鍵解壓
3.看到如下的文件目錄結構,有幾點需要說明,如果你比較懶,嫌部署到iis比較麻煩,安裝Elasticsearch也比較麻煩,那么,你可以雙擊“Start.bat”這個腳本,它會自動幫你安裝Elasticsearch,以及(當然,生產環境,還是建議自己搭建Elasticsearch的好)
4.如果出現下圖所示,那么你就耐心的等等就行了,運行結束后會自動為您打開Exceptionless的管理頁面
,如果不幸,cmd里面出現紅色字體,而且一閃就自動退出的話,那就執行下powershell Set-ExecutionPolicy Unrestricted 這個命令,然后再雙擊“Start.bat”這個腳本運行吧!
- 這里分win7(管理員身份運行cmd ,然后復制下面這條命令,按回車就行了
powershell Set-ExecutionPolicy Unrestricted
) 以及 win10(管理員身份運行powershell,然后執行powershell Set-ExecutionPolicy Unrestricted
)
5.如果全部安裝成功后,會自動為你打開幾個頁面。還是先來看下目錄結構吧,如下圖所示,默認安裝Elasticsearch是5.5.2 同時安裝了kibana版本也是5.5.2
6.打開的幾個頁面如下圖所示,然后在Exceptionless的頁面,點擊注冊按鈕注冊一個賬號,然后進行登錄
7.注冊成功后,進入如下的界面,在兩個文本框輸入,組織機構名稱以及項目名稱,用來對我們的項目的異常進行分類吧
8.下面進入項目類型配置界面,在1.select your project type下拉框選擇asp.net core
9.出現下面的界面,說明配置完成,並且給出使用說明。到此Exceptionless的安裝配置已經完成。
接下來我們通過一個實例項目進行使用說明吧
1.新建一個 netcore api項目,這一步應該難不倒你吧,我就不上圖了。
2.在程序包管理器中,選中你的項目,然后輸入“ Install-Package Exceptionless.AspNetCore”安裝nuget包吧,當然也可以通過其他方式安裝,就不介紹了
3.在startup.cs中添加 引用
using Exceptionless;
然后在Configure方法中添加Exceptionless管道信息
ExceptionlessClient.Default.Configuration.ApiKey = Configuration.GetSection("Exceptionless:ApiKey").Value; ExceptionlessClient.Default.Configuration.ServerUrl = Configuration.GetSection("Exceptionless:ServerUrl").Value; app.UseExceptionless();
然后在appsettings.json中添加apikey以及serverurl的配置
"Exceptionless": { "ApiKey": "OvzcKg8V7bPcWU8yAYBVe6uCEKIAQm3xfEzW5yxp", "ServerUrl": "http://localhost:50000" }
好了,exceptionless的配置以及完成,接下來就是代碼中使用了!
4.代碼中使用異常,直接上代碼吧!就是在ValuesController中修改下get方法進行下測試,代碼很簡單
// GET api/values [HttpGet] public ActionResult Get() { try { throw new Exception("ExceptionDemo 的異常"); } catch (Exception ex) { ex.ToExceptionless().Submit(); } return Ok(); }
5.運行起來吧。然后瀏覽器切換到exceptionless的面板進行查看吧,會自動刷新出現異常信息,如下圖 http://localhost:50000/#!/project/5b2663e4e6c0b51dd015bdab/dashboard
6.點擊進入可以查看詳細信息
總結:
本文從Exceptionless是什么入手,然后介紹了Exceptionless的安裝環境以及要求,接下來通過圖文詳細的介紹了Exceptionless的安裝以及配置。最后通過一個Demo演示了如何在代碼中使用Exceptionless,當然只是簡單地一些使用!今天的關於asp.Net Core免費開源分布式異常日志收集框架Exceptionless安裝配置以及簡單使用圖文教程的介紹就到這里了!