當前位置: 妍妍網 > 碼農

介紹一個.NET 遠端日誌元件

2024-02-06碼農

前言

對於軟體開發的階段和正式執行階段,我們都需要檢視日誌來診斷出現的問題。 不過,在檢視日誌時需要登入伺服器,找到特定的日誌檔,再檢視其中的內容,這顯然不是很方便。

為了 解決這個問題,我們可以使用遠端日誌,讓所有的程式產生的日誌都可以透過一個 web 頁面進行統一檢視。 這種方式可以使得維護工作更加方便。

Jack.RemoteLog 是一個提供全文檢索功能的遠端日誌元件,僅需要簡單的安裝和配置即可使用。

部署日誌伺服器程式

首先,我們先部署一下RemoteLog的伺服器端。

直接下載執行

https://cccscls-my.sharepoint.com/:f:/g/personal/jack_mutc_ca/Et7VbP7sX31EiN-NQkPL0RgBL5RBG15_PyepR5Tx0PaqsQ?e=BTngox

下載對應作業系統的RemoteLogServer壓縮檔,解壓後,執行Jack.RemoteLog.WebApi.exe(windows)或者Jack.RemoteLog.WebApi(linux)

可以用Docker安裝

docker pull jackframework/jackremotelogwebapi:latest

程式中使用RemoteLog

在appsettings.json檔中,設定日誌伺服器url

"Logging": {
"ServerUrl""http://127.0.0.1:9000",
"ContextName""YourContextName",
"LogLevel": {
"Default""Debug"
},
"Console": {
"LogLevel": {
"Default""Information"
}
}
}

在工程中參照 nuget 包: Jack.RemoteLog

註冊 Jack.RemoteLog 為底層日誌處理引擎

services.AddLogging(builder =>
{
builder.AddConfiguration(configuration.Getp("Logging"));
builder.AddConsole();
builder.UseJackRemoteLogger(configuration);
});

如果 RemoteLog 伺服器端設定了身份驗證,則這裏需要設定 使用者名稱、密碼

services.AddLogging(builder =>
{
builder.AddConfiguration(configuration.Getp("Logging"));
builder.AddConsole();
builder.UseJackRemoteLogger(configuration , new Options 
{
UserName = "",
Password = ""
});
});

當你使用 ILogger 介面例項來記錄資訊時,該資訊將被記錄到日誌伺服器。

而要檢視伺服器上的所有日誌,你可以透過瀏覽器開啟 http://127.0.0.1:9000 ,然後可以輕松地獲取你的程式日誌以進行監視和分析。

源碼地址

https://github.com/simpleway2016/JackRemoteLog

轉自:IWing

連結:cnblogs.com/IWings/p/17324713.html