ExceptionLess
是一套免費開源分佈式系統日誌收集框架,也是我無意中發現的,支持自己部署和平臺託管的方式接入使用。
ExceptionLess
官網:https://exceptionless.comExceptionLess
開源地址:https://github.com/exceptionless/ExceptionlessExceptionLess
.NET客戶端開源地址:https://github.com/exceptionless/Exceptionless.Net
安裝
如果是自己小項目,可以直接使用託管的方式接入ExceptionLess
,但是如果是公司項目還是建議自己部署吧。
docker run --rm -it -p 5000:80 exceptionless/exceptionless:6.1.0
成功後,打開:http://localhost:5000,可以看到dashboard
界面,註冊賬號登錄,創建一個項目。
可以看到選擇不同的項目類型,配置方法也寫的非常清楚,在 .NET Core 照着配置即可。
更多安裝方式參考:https://github.com/exceptionless/Exceptionless/wiki/Self-Hosting
使用
安裝 NuGet 程序包到項目中:
Install-Package Exceptionless.AspNetCore
在dashboard
界面可以得到一個api密鑰,和dashboard
服務地址,可以放在配置文件中。
{
"Exceptionless": {
"ServerUrl": "http://localhost:5000",
"ApiKey": "pz2zGzIxbAWjHVU4FqR2UV7ATDfYxbpFZXGjQmCR"
}
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
...
app.UseExceptionless(Configuration);
...
}
UseExceptionless
有多個重載方法,根據需要選擇,這裏將IConfiguration
對象傳進去,獲取Exceptionless
配置的服務地址和api密鑰。
然後在項目中隨意寫幾個接口並訪問,在dashboard
界面就可以實時看到訪問日誌了,還是挺方便的。
現在您的項目可以自動將所有未處理異常發送到Exceptionless
了,也可以通過 ex.ToExceptionless().Submit()
向Exceptionless
發送已處理的異常。
更多使用方法請參考:https://github.com/exceptionless/Exceptionless.Net/wiki