異常日志框架Exceptionless結合.NET Core(本地部署)


一、前言


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等。希望能幫助到你。

 

參考資料:

官網:https://exceptionless.com/

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 歡迎加群交流
如果您認為這篇文章還不錯或者有所收獲,您可以點擊右下角的【推薦】按鈕精神支持,因為這種支持是我繼續寫作,分享的最大動力!

作者:LouieGuo
聲明:原創博客請在轉載時保留原文鏈接或者在文章開頭加上本人博客地址,如發現錯誤,歡迎批評指正。凡是轉載於本人的文章,不能設置打賞功能,如有特殊需求請與本人聯系!

微信公眾號:歡迎關注                                                 QQ技術交流群: 歡迎加群

                


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM