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

1、前言


一、分佈式異常日誌收集框架Exceptionless是開源的工具,根據官方給出的說明: Exceptionless能夠爲您的ASP.NET、Web API、WebFrm、WPF、控制檯和MVC應用程序提供實時錯誤、特性和日誌報告。它將收集的信息組織成簡單的可操做的數據,這些數據將幫助你很方便的查看異常信息。html

二、Exceptionless提供兩種使用方式,一種是 官網建立帳號;一種是本身搭建本地項目。官網上建立帳號的操做方式能夠參考github上的官方wiki。此處主要介紹本地部署。java

 

閱讀目錄git

  • 前言
  • 環境要求
  • 部署Exceptionless
  • .NET Core結合Exceptionless
  • 總結

2、環境要求


根據Exceptionless 給出的環境要求以下:github

測試環境:web

  • 操做系統windows
  • .NET 4.6.1
  • JAVA JDK1.8+
  • IIS Express 7.5+(win7以上系統都沒有問題)
  • Elasticsearch 5.x

 

生產環境:redis

  • 操做系統windows或Linux
  • .NET 4.7
  • JAVA JDK1.8+
  • IIS Express 7.5+(win7以上系統都沒有問題)
  • Elasticsearch 5.x(部署在Linux上(強烈建議),而且是多節點運行)
  • Redis 3.0+(可選,部署在Linux上(強烈建議))

 

3、部署Exceptionless


一、配置JAVA JDK 1.8json

說明:爲何須要安裝JAVA JDK呢?因爲es須要依賴此環境。windows

第一步:從官網上下載JDK  windows 包api

地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html瀏覽器

第二步:安裝JDK後配置windows環境變量

設置系統變量添加java jdk的安裝目錄。

 

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

 

 

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

 

 二、部署Exceptionless

 Exceptionless 下載地址:https://github.com/exceptionless/Exceptionless/releases

 下載後解壓出來:把wwwroot部署在IIS上

此處項目的端口可本身配置,默認是50000。

如需本身配置須要修改一下幾個地方:

第一:修改web.config 中的BaseURL 中的端口。

第二:修改app.config.*.js文件中的 BASE_URL 端口。

第三:IIS上端口須要設置爲本身的端口。

 

三、一鍵安裝 es

雙擊打開 Start.bat,這將自動啓動Elasticsearch,IIS Express和默認瀏覽器到Exceptionless登陸頁面。

注:若是出現錯誤,請確保java 環境安裝完成。

 

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

 

四、註冊本地帳號Exceptionless

第一步:註冊帳號

第二步:註冊完後便可進入到主頁面。建立一個組織和項目名(每一個項目都有對應惟一的apikey)

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

 

  

 

4、.NET Core結合Exceptionless


一、新建一個.NET Core項目

引入nuget包: 

 

二、配置appsettings.json

此處的ApiKey在 Exceptionless中所建立項目獲取,正是根據這個咱們才能把項目匹配到exceptionless中

"Exceptionless": { "ApiKey": "aW6nxAsLNE5JcFthRbjbh5Ot2iFk4MgrcZtC35Ut", "ServerUrl": "http://localhost:50000" }

 

三、配置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(); }

 

四、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(); } }

 

五、運行項目,而後打開Exceptionless Dashboard

能夠看到 已經有錯誤信息顯示了。

 

 

5、總結


此文配置只是測試,生產環境請使用本身部署的es和redis等。但願能幫助到你。

 

參考資料:

官網:https://exceptionless.com/

github:https://github.com/exceptionless/Exceptionless/wiki/Self-Hosting

KAnts:http://www.javashuo.com/article/p-kwpvhlyc-ms.html

依樂祝:http://www.javashuo.com/article/p-htuzwuoo-ky.html

uptothesky:http://www.cnblogs.com/uptothesky/p/5864863.html

 

asp.net core 交流羣:787464275 歡迎加羣交流
若是您認爲這篇文章還不錯或者有所收穫,您能夠點擊右下角的【推薦】按鈕精神支持,由於這種支持是我繼續寫做,分享的最大動力!

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

微信公衆號:歡迎關注                                                 QQ技術交流羣: 歡迎加羣

                

相關文章
相關標籤/搜索