我已將我的新專案移至.NET Core 6,但顯然 Program 和 Startup.cs 檔案發生了根本性的變化。
我想在每個具有依賴注入的控制器中使用 log4net,但我找不到任何關于.NET Core 6 中的日志記錄的教程。
我嘗試了什么:
builder.Services.AddLogging();
builder.Logging.AddProvider(loggerProvider);
我應該寫什么來在控制器中使用 ILogger?
uj5u.com熱心網友回復:
Microsoft Docs中詳細描述了 ASP.NET Core 6.0 中的日志記錄。一個非常簡短的總結:你注冊了你想要使用的日志框架,然后在應用程式本身中使用 ASP.NET Core 的日志層。兩個日志系統之間的轉換由處理程式完成。對于 log4net, GitHub 上有一個處理程式。
登記
安裝處理程式包后,在 Program.cs 的初始化代碼中注冊此處理程式:
// Add services to the container.
builder.Services.AddControllersWithViews();
// Add your logging handler
builder.Logging.AddLog4Net();
var app = builder.Build();
如果您有一個帶有單獨 . 的舊式模板Startup.cs,則必須改用專案自述檔案中的示例代碼。
寫日志
ILogger現在您可以通過依賴注入在您的控制器中獲取一個實體并使用它登錄。處理程式負責將這些日志相應地傳遞給 log4net。
private readonly ILogger<HomeController> logger;
public HomeController(ILogger<HomeController> logger)
{
this.logger = logger;
}
public IActionResult Index()
{
this.logger.LogDebug("Creating /Home/Index");
return View();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/426960.html
上一篇:當我不使用`System.IntPtr`時,為什么System.Text.Json會為`System.IntPtr`拋出`NotSupportedException`?
