Невозможно показать сообщения отладки ILogger.LogDebug и как включить для Serilog - PullRequest
0 голосов
/ 08 июля 2020

Используя интерфейс ILogger, я не могу увидеть какой-либо вывод из LogDebug, даже если я установил:

"Logging": {
    "LogLevel": {
      "Default": "Debug",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
}

И я использую для регистрации:

public static void Main(string[] args)
{

    Log.Logger = new LoggerConfiguration()
                            .MinimumLevel.Information()
                            .MinimumLevel.Override("Microsoft", LogEventLevel.Warning)
                            .Enrich.FromLogContext()
                            .WriteTo.Console()
                            .WriteTo.File("logging.log")
                            .CreateLogger();

    var host = CreateDefaultBuilder(args)
                    .ConfigureServices((hostContext, services) =>
                    {
                        services.Configure<HostOptions>(option =>
                        {
                            option.ShutdownTimeout = System.TimeSpan.FromSeconds(20);
                        });

                        services.AddLogging();
                        // services.AddLocalization(options => options.ResourcesPath = "Resources");

                        services.AddSimpleInjector(container, options =>
                        {
                            // Hooks hosted services into the Generic Host pipeline while resolving them through Simple Injector
                            options.AddHostedService<Worker>();

                            // Allows injection of ILogger & IStringLocalizer dependencies into application components
                            options.AddLogging();
                            // options.AddLocalization();
                        });
                    })
                    .Build()
                    .UseSimpleInjector(container);


    config.Build();
    host.Run(); 
}


public static IHostBuilder CreateDefaultBuilder(string[] args)
{
    var builder = Host.CreateDefaultBuilder(args);

    builder
        .ConfigureLogging((hostingContext, logging) =>
        {
            logging.ClearProviders();
            logging.AddConsole();
            if (hostingContext.HostingEnvironment.IsDevelopment() == true)
                logging.AddDebug();
        })
        .ConfigureHostConfiguration(configurationBuilder =>
        {
            configurationBuilder.AddCommandLine(args);
        })
        .ConfigureAppConfiguration((hostingContext, configApp) =>
        {
            var env = hostingContext.HostingEnvironment;
        })
        .UseConsoleLifetime();

    return builder;
}

Любые идеи, какие Я делаю что-то не так, пожалуйста, или отсутствует?

Теперь я планирую использовать Serilog для всех моих журналов и для устаревших библиотек, чтобы использовать интерфейс ILogger, все, что мне нужно изменить, чтобы включить (или удалить любые конфликтующие настройки )?

...