開源日誌收集Exceptionless簡單使用

這兩天在研究一個開源的日誌收集工具Exceptionlesshtml

官網地址:https://exceptionless.com/
GitHub地址:https://github.com/exceptionless/Exceptionlessjava

官網爲咱們提供了兩種使用方式。git

1、在官網註冊帳號後便可快速使用(不用關心日誌收集環境的搭建,專一本身代碼邏輯就好),惟一很差的地方就是你係統中的全部日誌信息都會被上傳至官網服務中了。github

2、下載官網爲咱們提供的Releases版(https://github.com/exceptionless/Exceptionless/releases)後在本身的服務器中搭建私有環境。shell

我本身就在本地機器試着搭建了環境。網站也有不少關於本地部署的貼子,不過在搭建過程當中仍是遇到了好些問題。好在最後都順利解決了,因此想記錄下本身部署過程當中遇到的問題及其解決方法。瀏覽器

下面是部署的過程:服務器

要用Exceptionless還有一些前置工做要作,以下圖截取的是https://www.cnblogs.com/akaxb/p/7207827.htmlless

個人機器裝了VS2017和java jdk 1.8 因此對於這些就不作過多截圖了,可自行搜索。elasticsearch

接下來咱們從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等。

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

感謝閣下的閱覽!

相關文章
相關標籤/搜索