如何为每个命名空间配置 Microsoft.Extensions.Logging.ILogger 级别?
How do I configure Microsoft.Extensions.Logging.ILogger levels per namespace?
我希望能够独立于 Microsoft 配置 Microsoft.AspNetCore.Mvc/DataProtection 等嵌套级别。*,这可能吗?如果可以,我该怎么做?
日志记录有效,我看到当前在调试时看到所有内容,但没有排除任何内容。
我正在将设置等注入到 class 中,该 Program.cs 是这样配置的
var builder = new ConfigurationBuilder().SetBasePath(Environment.CurrentDirectory);
builder.AddJsonFile("appsettings.json", true, true);
var envName = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
if (string.IsNullOrWhiteSpace(envName))
builder.AddJsonFile($"appsettings.${envName}.json", true);
builder.AddEnvironmentVariables();
builder.AddCommandLine(args);
var configurationRoot = builder.Build();
new WebHostBuilder()
.UseKestrel(options =>
{ options.Limits.MaxRequestBodySize = null; })
.UseContentRoot(Directory.GetCurrentDirectory())
.UseConfiguration(configurationRoot)
.ConfigureLogging(lb =>
{
lb.AddConsole();
lb.AddDebug();
lb.SetMinimumLevel(LogLevel.Trace);
})
.UseStartup<Startup>()
.UseIISIntegration()
.Build()
.Run();
使用 Startup.cs 注入记录器和配置
public Startup(ILogger<Startup> iLogger, IConfiguration iConfiguration)
{
_configuration = iConfiguration;
_logger = iLogger;
_logger.LogDebug("Configured logger, config and builder.");
}
在 appsettings.json 中使用日志配置,例如
"Logging": {
"IncludeScopes": true,
"LogLevel": {
"Microsoft.AspNetCore.Mvc": "Warning",
"Microsoft.AspNetCore.DataProtection": "Warning",
"Default": "Debug"
}
}
来自 log4j 我会尝试类似上面的方法,但它不起作用,我哪里出错了?
您需要阅读 how to setup a host 页面以了解需要进入 program.cs
代码的内容。这已针对 .Net Core 2.x 进行了更改,并减少了我们加载设置和设置日志记录所需的代码量。
我希望能够独立于 Microsoft 配置 Microsoft.AspNetCore.Mvc/DataProtection 等嵌套级别。*,这可能吗?如果可以,我该怎么做? 日志记录有效,我看到当前在调试时看到所有内容,但没有排除任何内容。
我正在将设置等注入到 class 中,该 Program.cs 是这样配置的
var builder = new ConfigurationBuilder().SetBasePath(Environment.CurrentDirectory);
builder.AddJsonFile("appsettings.json", true, true);
var envName = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
if (string.IsNullOrWhiteSpace(envName))
builder.AddJsonFile($"appsettings.${envName}.json", true);
builder.AddEnvironmentVariables();
builder.AddCommandLine(args);
var configurationRoot = builder.Build();
new WebHostBuilder()
.UseKestrel(options =>
{ options.Limits.MaxRequestBodySize = null; })
.UseContentRoot(Directory.GetCurrentDirectory())
.UseConfiguration(configurationRoot)
.ConfigureLogging(lb =>
{
lb.AddConsole();
lb.AddDebug();
lb.SetMinimumLevel(LogLevel.Trace);
})
.UseStartup<Startup>()
.UseIISIntegration()
.Build()
.Run();
使用 Startup.cs 注入记录器和配置
public Startup(ILogger<Startup> iLogger, IConfiguration iConfiguration)
{
_configuration = iConfiguration;
_logger = iLogger;
_logger.LogDebug("Configured logger, config and builder.");
}
在 appsettings.json 中使用日志配置,例如
"Logging": {
"IncludeScopes": true,
"LogLevel": {
"Microsoft.AspNetCore.Mvc": "Warning",
"Microsoft.AspNetCore.DataProtection": "Warning",
"Default": "Debug"
}
}
来自 log4j 我会尝试类似上面的方法,但它不起作用,我哪里出错了?
您需要阅读 how to setup a host 页面以了解需要进入 program.cs
代码的内容。这已针对 .Net Core 2.x 进行了更改,并减少了我们加载设置和设置日志记录所需的代码量。