ExceptionLess 搭建到本地服務器


Exceptionless 是一個開源的實時的日志收集框架,它可以應用在基於 ASP.NET,ASP.NET Core,Web Api,Web Forms,WPF,Console,MVC 等技術棧的應用程序中,並且提供了Rest接口可以應用在 Javascript,Node.js 中。它將日志收集變得簡單易用並且不需要了解太多的相關技術細節及配置。

在以前,我們做日志收集大多使用 Log4net,Nlog 等框架,在應用程序變得復雜並且集群的時候,可能傳統的方式已經不是很好的適用了,因為收集各個日志並且分析他們將變得麻煩而且浪費時間。

 

 

1 從官網下載發布包

https://github.com/exceptionless/Exceptionless/releases

 

2 參考官方文檔 安裝部署

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

 

3 鼠標雙擊 Start.bat(管理員模式) 運行即可

 

注意:此項目 依賴 ElastaicSearch 項目。(一個搜索引擎項目)先把這個包下載放到目錄最好,ps下載不支持斷點續傳......

 

 

訪問 http://127.0.0.1:50000/api/v2/status 

檢測安裝狀態

 

二、使用本地服務 Exceptionless 的客戶端如何配置

  1. mvc 環境下, 從 nuget 安裝 Exceptionless.Mvc 
  2.  <exceptionless apiKey="fT97ZX7Decl09SsFPKBMB2lWrS6wiWK6V6CiMAtX" serverUrl="http://localhost:50000"/>  其中加了 serverUrl="http://localhost:50000" 即 跑Exceptionless服務的地址

三、通過以上操作,就完成了 Exceptionless  的本地搭建

 

如果發布在局域網的機器,那么,需要改動 BaseURL節點

改成局域網IP 端口號

還要改 app.config.*.js 里面的baseUrl 配置 麻煩。

 

開啟時候 先把搜索引擎 ES 開啟。執行安裝包下的 Start-ElasticSearch.ps1 腳本

 

 

四 開啟Redis 緩沖服務

在Linux 下部署很簡單  win server 下 ,安裝非官方的redis-win 版本

http://www.redis.io/

下載頁- 連接到微軟開放技術組 在git上的 redis 3.2 win版本。(不推薦在生產環境用win版本,都說測試運行不穩定............!)

以windows 服務的形式運行。

redis 遠程訪問
原來是redis默認只能localhost登錄,所以需要開啟遠程登錄。解決方法如下:

在redis的配置文件redis.conf中,找到bind localhost注釋掉。
注釋掉本機,局域網內的所有計算機都能訪問。
 band localhost 只能本機訪問,局域網內計算機不能訪問。
 bind 局域網IP 只能局域網內IP的機器訪問, 本地localhost都無法訪問。
在redis3.2之后,redis增加了protected-mode,在這個模式下,即使注釋掉了bind 127.0.0.1,再訪問redisd時候還是報錯,如下
修改辦法:protected-mode no

 

 五 異常數據-默認存儲在文件中,目錄

<!-- Folder used to store event post data -->
<add key="StorageFolder" value="|DataDirectory|\storage"/>

而且異常信息進行了加密處理

{
    "ProjectId": "590a8e5c002f0e0f44a5ef7f",
    "Data": "H4sIAAAAAAAEAMVWW4vbRhT+K0b0oSW2mItkW3pK2W6IIdkN2U1aWAUxksb2EF3MzMjZbVhoSy4tBNKXfWj71D6X0odS0jT/prtx8i9yxpK1F9sNNAnFL9KZmfN93zmf5njvvqUPJtzyLS5lIa22lTBtXgnCvQ5yO8jZxcinxHd6dreLIOxcQn0foWors/z71uUpl0oUORzDNjI/WLxcKi7Nqkh4roU+gNVPk0zkQmnJNGAdwqYKFXZlRVKmXFn+3uI5FInl47aVs8wQ2uVKb+7HfKIB6RpXCjBW4QoVAp4EOC1L3rZiyUFREq7UhamPsE16oIp4jS7AF0Ox7oypBbEx6hLXc+szh+1zrEnDumGcXmTsAF/suXhO+l9JEsd3HZtiiGL3LSSdDsa7mPgIznSXGnVDAsdY314i8dHHtzdv7gy2t8KdW1euDL74pEV6mHhD6hBiHV5QR1ersz8XeVLce1eVXYTp21rRqHR9umzH/6ryDsCBDjYyQLM/fjl5cfTqz4cnj58fP3/08uj32d8PZkdPXv/w/T9ffQNo9Wezc6A0z+xBnvD97VJvD2+yfMSbwsBGpVl8NwTPx3zu7oTHKZMiH4Wmimoyj9d5jIpmeYGgzZvVFH3EdbgxZlJV5Vl0pYNPKzC4tj0cKq6r6BbTYsoXEQSf3YRJyKWhQHNGdWJhNJwqG+Sakvp1DdUFnBpAmYcsVfC9DRSU4ezbvA4srUNQZmOnoUirpMZFfhCcPPz15Omz1z//NfvptyA456sgUDK+EOuYlpIgWLoUggC6PwJ1dmzqk4ocYMosMlcR7YEFi7TMgCzB7TWNWHXPLPWkBjltynUm8vP9WNmOPrnYDuL21jaEyZE647S5D/bufJCWgPc1wIG1gMa4SEyOD2jU/9mA88mTT4Us8gyGhUkxkUUMzS5kGBelCTkAXGiWhpPxgRIxPGQ8K8xc6VPcc13ketBMNmUiZRFIW9oGF7aLPEJdYmyXZSxPQuNHEBC8Z89HIg+Cz3hUjlYs21M1LpS2+T4PrBZUrZYarhus9YEzO03brD5y0JlYJTNU4ktIQsDGFLldqNkYLvmkOuHBdibjsdA81qU0YPtdB4JF2KBfF7EsVDHUrXp8tDBqHb/4+vjZj7Pvvq33ns6Trk1sj6Bq1GcMcufNPbJxdXOrc2PD/AfI4dJN04oFcIuxk/T7CXcdL6KMRnHk0ChCXr9PmUkkoeMi4+H5uUURxZ7tABoMeLDNG/dqtVEsCQAA",
    "CharSet": "utf-8",
    "MediaType": "application/json",
    "ApiVersion": 2,
    "UserAgent": "exceptionless/4.0.0",
    "ContentEncoding": "gzip",
    "IpAddress": "172.16.20.248"
}

 

UI

用的Angular.js  1.64開發的單頁面程序。

主題包地址:https://github.com/exceptionless/Exceptionless.UI

 

編譯后 合並為單個app.*.js

 

集成了

/**
* @license AngularJS v1.6.4
* (c) 2010-2017 Google, Inc. http://angularjs.org
* License: MIT
*/
(function(window) {'use strict';

 

-------------------------------------------------------------------

 

六 集成為win 服務

將ES 注冊為win 服務 在bin 下的 -service.bat install remove
----------注意,如果使用了excepless 的 Start-ElasticSearch.ps1 腳本啟動,那么他使用的是 node-1 節點的es ,用戶數據 在 data目錄一定要注意!!!!!!!!!!!!!

 

示范代碼:

public class ExceptionLessLog :ILog
{

/// <summary>
/// 跟蹤
/// </summary>
public void Trace(string message, params string[] tags)
{
ExceptionlessClient.Default.CreateLog(message, LogLevel.Trace).AddTags(tags).Submit();
}

/// <summary>
/// 調試
/// </summary>
public void Debug(string message, params string[] tags)
{
ExceptionlessClient.Default.CreateLog(message, LogLevel.Debug).AddTags(tags).Submit();
}

/// <summary>
/// 信息
/// </summary>
public void Info(string message, params string[] tags)
{
ExceptionlessClient.Default.CreateLog(message, LogLevel.Info).AddTags(tags).Submit();
}

/// <summary>
/// 警告
/// </summary>
public void Warn(string message, params string[] tags)
{
ExceptionlessClient.Default.CreateLog(message, LogLevel.Warn).AddTags(tags).Submit();
}

/// <summary>
/// 錯誤
/// </summary>
public void Error(string message, params string[] tags)
{
ExceptionlessClient.Default.CreateLog(message, LogLevel.Error).AddTags(tags).Submit();
}
}

 

 

參考:

https://github.com/exceptionless/Exceptionless/

http://www.cnblogs.com/kangwl/p/5859416.html

http://www.cnblogs.com/savorboard/p/exceptionless.html

http://www.cnblogs.com/LiangSW/p/6026817.html

http://www.fwhyy.com/2016/09/use-exceptionLess/

 

 http://mp.weixin.qq.com/s?__biz=MzAwNTMxMzg1MA==&mid=2654067937&idx=1&sn=01e502d9ef5cf77817aa80db6903923d&scene=0#wechat_redirect


免責聲明!

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



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