Как настроить уровни Microsoft.Extensions.Logging.ILogger для каждого пространства имен? - PullRequest
0 голосов
/ 09 мая 2019

Я хочу иметь возможность настраивать вложенные уровни, такие как Microsoft.AspNetCore.Mvc / DataProtection, независимо от только Microsoft. * Возможно ли это, если да, то как мне это сделать? Ведение журнала работает, и я вижу, что в настоящее время все отлаживается, но ничего не исключено.

Я вставляю настройки и т. Д. В класс, который настроен в 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, я бы попробовал что-то подобное, но это не работает, где я ошибся?

1 Ответ

0 голосов
/ 09 мая 2019

Вам нужно прочитать , как настроить страницу хоста , чтобы понять, что нужно ввести в код program.cs. Это изменилось для .Net Core 2.x и уменьшило объем кода, который нам нужен для загрузки настроек и ведения журнала настроек.

...