我是 Logger 的初學者,只是想知道它是如何BeginScope()作業的
// startup.cs
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILogger<Startup> logger) {
if (env.IsDevelopment()) {
app.UseDeveloperExceptionPage();
}
app.UseEndpoints(endpoints => {
endpoints.MapGet("/", async context => {
using (logger.BeginScope("Example")) {
logger.LogInformation("Processing credit card payment");
}
});
});
}

我認為記錄器中的范圍是您可以在記錄的訊息中添加“前綴”,所以在我的情況下,輸出應該是“示例處理信用卡支付”,那么我如何訪問范圍訊息“示例”并進入列印在輸出中?
uj5u.com熱心網友回復:
在 Program.cs 中設定IncludeScopes:true如下:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
})
.ConfigureLogging(logger => {
logger.AddConsole(options =>
{
options.IncludeScopes = true;
});
});
或者您可以IncludeScopes像本檔案一樣添加 appsettings.json:配置日志記錄
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/422428.html
標籤:
