開源日志收集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等。

因水平有限,以上如有講述不正確的地方歡迎指正。

感謝閣下的閱覽!


免責聲明!

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



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