我希望能够独立于Microsoft。*配置像Microsoft.AspNetCore.Mvc / DataProtection这样的嵌套级别,这是否可能,如果可以的话,我该怎么做? 该日志记录有效,我看到当前在调试时看到了所有内容,但没有排除任何内容。
我将设置等注入到像这样在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,我尝试过类似上述操作,但它不起作用,我在哪里出错了?
答案 0 :(得分:0)
您需要阅读how to setup a host页,以了解需要放入program.cs
代码中的内容。对于.Net Core 2.x,此更改已更改,并减少了加载设置和设置日志记录所需的代码量。