對於軟體開發的階段和正式執行階段,我們都需要檢視日誌來診斷出現的問題。不過,在檢視日誌時需要登入伺服器,找到特定的日誌檔案,再檢視其中的內容,這顯然不是很方便。
為了解決這個問題,我們可以使用遠端日誌,讓所有的程式產生的日誌都可以透過一個 web 頁面進行統一檢視。這種方式可以使得維護工作更加方便。
Jack.RemoteLog 是一個提供全文檢索功能的遠端日誌元件,僅需要簡單的安裝和配置即可使用。
部署日誌伺服器程式
首先,我們先部署一下RemoteLog的伺服器端。
直接下載執行
下載對應作業系統的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.GetSection("Logging"));
builder.AddConsole();
builder.UseJackRemoteLogger(configuration);
});
如果 RemoteLog 伺服器端設定了身份驗證,則這裡需要設定使用者名稱、密碼:
services.AddLogging(builder =>
{
builder.AddConfiguration(configuration.GetSection("Logging"));
builder.AddConsole();
builder.UseJackRemoteLogger(configuration , new Options
{
UserName = "",
Password = ""
});
});
當您使用 ILogger 介面例項來記錄資訊時,該資訊將被記錄到日誌伺服器。
而要檢視伺服器上的所有日誌,您可以透過瀏覽器開啟 http://127.0.0.1:9000,然後可以輕鬆地獲取你的程式日誌以進行監視和分析。