LP1*_*P13 8 c# serilog asp.net-core
我正在使用NET5ASP.NET MVC 应用程序。应用程序正在用于Serilog.AspNetCore 3.4.0日志记录
应用程序设置.json
{
"Logging": {
"LogLevel": {
"Default": "Error"
}
},
"Serilog": {
"Using": [ "Serilog.Sinks.Console"],
"WriteTo": [
{
"Name": "Console"
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
程序.cs
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder
.UseStartup<Startup>()
.ConfigureLogging((hostingContext, logging) =>
{
logging.ClearProviders();
})
.UseSerilog((hostingContext, logging) =>
{
logging.ReadFrom.Configuration(hostingContext.Configuration);
});
});
Run Code Online (Sandbox Code Playgroud)
我也尝试过
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder
.UseStartup<Startup>()
.ConfigureLogging((hostingContext, logging) =>
{
logging.ClearProviders();
Log.Logger = new LoggerConfiguration()
.ReadFrom.Configuration(hostingContext.Configuration)
.CreateLogger();
logging.AddSerilog();
});
});
Run Code Online (Sandbox Code Playgroud)
问题
我的期望是不会Information显示任何日志,Console因为默认 LogLevel 是Error。然而,这是行不通的。在控制台中,我看到每个请求都被记录,包括Information
在我的整个应用程序中,我使用它Microsoft.Extensions.Logging.ILogger<MyClassName>来记录信息。Info即使 LogLevel 为 ,所有这些语句实际上都在记录Error。
看起来 Serilog 忽略了 LogLevel Microsoft.Extensions.Logging。
请注意,我可以将 serilog 的restrictedToMinimumLevel属性设置为 Error并停止记录信息。不过我认为 serilog 应该遵循 LogLevelMicrosoft.Extension.Logging
如果您检查该项目的 Github 页面,它建议您实际删除 appsettings.json 中的标准“Logging”部分:-(
我认为这很糟糕,因为它实际上破坏了与 Microsoft.Extensions.Logging 框架的兼容性(您不能再在不更改 appsettings.json 的情况下更改实际的日志提供程序(Log4Net、NLog、Serilog))。
使用MinimumLevel属性:
"Logging": {
"MinimumLevel": {
"Default": "Error"
}
}
Run Code Online (Sandbox Code Playgroud)
它还支持类别的覆盖:
"Logging": {
"MinimumLevel": {
"Default": "Error",
"Override": {
"System": "Information",
"Microsoft": "Information",
"Microsoft.Hosting.Lifetime": "Information",
"Microsoft.EntityFrameworkCore": "Debug"
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7450 次 |
| 最近记录: |