這兩天在研究一個開源的日誌收集工具Exceptionless 官網地址:https://exceptionless.com/GitHub地址:https://github.com/exceptionless/Exceptionless 官網為我們提供了兩種使用方式。 一、在官網註冊賬號後即可快速使用 ...
這兩天在研究一個開源的日誌收集工具Exceptionless
官網地址:https://exceptionless.com/
GitHub地址:https://github.com/exceptionless/Exceptionless
官網為我們提供了兩種使用方式。
一、在官網註冊賬號後即可快速使用(不用關心日誌收集環境的搭建,專註自己代碼邏輯就好),唯一不好的地方就是你系統中的所有日誌信息都會被上傳至官網服務中了。
二、下載官網為我們提供的Releases版(https://github.com/exceptionless/Exceptionless/releases)後在自己的伺服器中搭建私有環境。
我自己就在本地機器試著搭建了環境。網站也有很多關於本地部署的貼子,不過在搭建過程中還是遇到了好些問題。好在最後都順利解決了,所以想記錄下自己部署過程中遇到的問題及其解決方法。
下麵是部署的過程:
要用Exceptionless還有一些前置工作要做,如下圖截取的是https://www.cnblogs.com/akaxb/p/7207827.html
我的機器裝了VS2017和java jdk 1.8 所以對於這些就不做過多截圖了,可自行搜索。
接下來我們從github下載releases版的壓縮包
解壓出來的文件夾只包含下麵幾個文件
右擊Start.bat文件以管理員身份運行時可能會出現以下錯
這是powershell認為執行的*.psl可能存在風險,被阻止了。我們只要以管理員身份運行powershell,執行下圖紅框中的命令
然後再執行Start.bat文件,如下圖
都執行好之後會再自動執行Start-Website.ps1然後瀏覽器會自動打開如下圖
這時可以點signup註冊個賬號並登錄
到此算是基本完成了。解壓的文件夾中多出三個文件夾
一開始我們是點Start.bat才運行起來的,以後總不能每次都點這bat文件吧
這時我們可以在IIS中新建一個站點指向wwwroot, 應用程式池選.NET4.0集成,埠隨意(只要不被占用或衝突即可)註:wwwroot里的配置商品預設是50000的。若自定義了埠號需同步修改以下配置文件中的埠號
因為我在新建站點時用了50001,相應的修改如下
到此還要給下麵的兩個文件夾添加 IIS_IUSRS用戶組
這個時候就可以在瀏覽器中輸入http://localhost:50001會出現登錄頁啦,不過在註冊賬號時會報錯
經過一陣子亂搞有點明白了,要想使用Execptionless前提是要先運行elasticsearch,即先執行下麵的bat
現在就可以註冊和登錄一切都正常使用啦!
下麵簡單介紹下如何使用
這裡紅色的框是要在程式中用到的
現在新建一個控制台程式,從nuget中查找引用exceptionless,根據自己的項目安裝對應的包
簡單的程式使用
1 using System; 2 using Exceptionless; 3 using Exceptionless.Logging; 4 5 namespace ExceptionLessDemo 6 { 7 class Program 8 { 9 static void Main(string[] args) 10 { 11 ExceptionlessClient.Default.Configuration.ApiKey = "lJSj6SwpmA9Wih3AFkhq7AoIchtPZyZEimNQ3eCL"; 12 ExceptionlessClient.Default.Configuration.ServerUrl = "http://localhost:50001"; 13 ExceptionlessClient.Default.Startup(); 14 15 ExceptionlessClient.Default.SubmitLog("這是一個普通日誌記錄code:{12345678999}", LogLevel.Info); 16 17 try 18 { 19 ExceptionlessClient.Default.CreateLog("出錯了", LogLevel.Error).Submit(); ; 20 throw new Exception($"看這裡異常了!時間:{DateTime.Now}"); 21 } 22 catch(Exception e) 23 { 24 e.ToExceptionless().Submit(); 25 } 26 27 Console.WriteLine("Hello World!"); 28 } 29 } 30 }
最終的效果圖如下
好了,就先到這吧。這是最簡單的樣子,還有很多東西要去研究如elasticsearch、kibana等。
因水平有限,以上如有講述不正確的地方歡迎指正。
感謝閣下的閱覽!