在.NET Core中使用Exceptionless分布式日志收集框架
一.Exceptionless簡(jiǎn)介
Exceptionless 是一個(gè)開(kāi)源的實(shí)時(shí)的日志收集框架,它可以應(yīng)用在基于 ASP.NET,ASP.NET Core,Web Api,Web Forms,WPF,Console,MVC 等技術(shù)棧的應(yīng)用程序中,并且提供了Rest接口可以應(yīng)用在 Javascript,Node.js 中。它將日志收集變得簡(jiǎn)單易用并且不需要了解太多的相關(guān)技術(shù)細(xì)節(jié)及配置。
在以前,我們做日志收集大多使用 Log4net,Nlog 等框架,在應(yīng)用程序變得復(fù)雜并且集群的時(shí)候,可能傳統(tǒng)的方式已經(jīng)不是很好的適用了,因?yàn)槭占鱾€(gè)日志并且分析他們將變得麻煩而且浪費(fèi)時(shí)間。
現(xiàn)在Exceptionless團(tuán)隊(duì)給我們提供了一個(gè)更好的框架來(lái)做這件事情,我認(rèn)為這是非常偉大并且有意義的,感謝他們。
二.使用
? 這里有兩種方式(本地,遠(yuǎn)程)
本地需要一定的環(huán)境要求(NET 4.6.1 、Java JDK 1.8+、IIS Express 8+)
遠(yuǎn)程就比較方便了,非常的方便,那么今天就給大家來(lái)一波Exceptionless遠(yuǎn)程使用的教程。
三.注冊(cè)賬號(hào)并配置
官網(wǎng):http://exceptionless.com
GitHub:https://github.com/exceptionless/Exceptionless
關(guān)于官方首頁(yè)訪問(wèn)慢的問(wèn)題,那沒(méi)有辦法,最好翻個(gè)梯子,當(dāng)然也就只是首頁(yè)慢了點(diǎn),因?yàn)槭醉?yè)有谷歌的api,管理頁(yè)面就沒(méi)有那么卡了(36ms)左右。
由于我們使用的遠(yuǎn)程日志,我們得進(jìn)入官方申請(qǐng)賬號(hào),進(jìn)入官方進(jìn)行賬號(hào)注冊(cè)。
進(jìn)入創(chuàng)建項(xiàng)目,輸入項(xiàng)目信息,創(chuàng)建項(xiàng)目!
這里當(dāng)然可以選擇我們喜愛(ài)的.NET Core !官方已經(jīng)給你說(shuō)好了,那么這個(gè)時(shí)候你的項(xiàng)目就可以用Exceptionless來(lái)記錄日志了。那我們來(lái)創(chuàng)建一個(gè).NET Core 程序吧?
四.在程序中進(jìn)行遠(yuǎn)程記錄
nuget完Exceptionless.AspNetCore之后會(huì)出現(xiàn)一個(gè)txt文件,這個(gè)txt文件是給你的一個(gè)簡(jiǎn)單的使用教程, 當(dāng)然你可以選擇刪除。
配置中間件
public void Configure(IApplicationBuilder app, IHostingEnvironment env){app.UseExceptionless("xxxxxxxxxxxxxx");app.UseMvc();}這個(gè)時(shí)候你就可以正常使用了,那么我們現(xiàn)在故意報(bào)錯(cuò)一下!
public ActionResult<IEnumerable<string>> Get(){ ? ? ? ? ? ?throw new Exception("my text info"); ? ? ? ? ? ?return new string[] { "value1", "value2" };}?現(xiàn)在啟動(dòng)我們的瀏覽器,報(bào)錯(cuò)成功。
那我們的框架收集到了嗎?刷洗一下,成功記錄下來(lái)了。
那它替我們收集了什么信息呢?我們一探究竟!點(diǎn)進(jìn)去噢!發(fā)現(xiàn)這真的太棒了。
除了記錄一些基本的http信息之外,竟還有系統(tǒng)版本、系統(tǒng)架構(gòu)、電腦版本、運(yùn)行時(shí)等。灰常NB啊。
當(dāng)然我們惡意報(bào)錯(cuò)是不對(duì)的,可以trycath一下,那么代碼就變成了這樣。
除了一些異常記錄之外,ExceptionLess還提供了Log (日志)、Feature Usages(功能用途)、404、Custom Event(自定義事件)。擴(kuò)展的東西是在?ExceptionlessClient.Default類(lèi)中。有興趣的話可以研究。
附日志記錄封裝類(lèi)(很簡(jiǎn)單的那種。大佬別打我)
總結(jié):
ExceptionLess功能非常強(qiáng)大,你看我都沒(méi)怎么敲代碼就搞定了這么炫酷的功能,沒(méi)試過(guò)的小伙伴趕緊試一試吧.
相關(guān)文章
?NetCore集成Exceptionless分布式日志功能以及全局異常過(guò)濾
.NETCore微服務(wù)之基于Exceptionless實(shí)現(xiàn)分布式日志記錄
asp.NeCore免費(fèi)開(kāi)源分布式異常日志收集框架Exceptionless安裝配置以及簡(jiǎn)單使用圖文教程
容器化分布式日志組件ExceptionLess的Angular前端UI
.NET Exceptionless 日志收集框架本地環(huán)境搭建
免費(fèi)開(kāi)源的分布式組件庫(kù)&Exceptionless
原文地址:https://www.cnblogs.com/ZaraNet/p/10315313.html
.NET社區(qū)新聞,深度好文,歡迎訪問(wèn)公眾號(hào)文章匯總 http://www.csharpkit.com
總結(jié)
以上是生活随笔為你收集整理的在.NET Core中使用Exceptionless分布式日志收集框架的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Docker最全教程——MongoDB容
- 下一篇: 华为云提供针对Nuget包管理器的缓存加