.net core 无法将调试日志记录输出到控制台

.net core 无法将调试日志记录输出到控制台,.net-core,.net Core,.NETCore2.2-我有一个库项目,我已经设置了一个记录器,如下所示。当我记录调试消息时,我无法将任何内容输出到控制台。我需要帮助确定日志设置是否不正确,配置文件是否不正确,或者两者都不正确 public class TaxApi { ClientOptions _clientOptions = new ClientOptions(); void ConfigureServices(IServiceCollection services) { ser

.NETCore2.2-我有一个库项目,我已经设置了一个记录器,如下所示。当我记录调试消息时,我无法将任何内容输出到控制台。我需要帮助确定日志设置是否不正确,配置文件是否不正确,或者两者都不正确

public class TaxApi
{
    ClientOptions _clientOptions = new ClientOptions();

    void ConfigureServices(IServiceCollection services)
    {
        services.AddLogging(c =>
        {
            c.AddConsole()
                .AddDebug();
                //.AddFilter<TaxService>(LogLevel.Debug.ToString());
        });
    }

    public async Task LoadSettings(string environmentName = "development")
    {
            var builder = new ConfigurationBuilder()
                .SetBasePath(_clientOptions.SettingsDirectory)
                .AddJsonFile(_clientOptions.SettingsFilePath, optional: false, reloadOnChange: true)
                .AddJsonFile($"{_clientOptions.SettingsFileNameWithoutExtension}.{environmentName}.{_clientOptions.SettingsFileExtension}", optional: true, reloadOnChange: true)
                .AddEnvironmentVariables();

            var configuration = builder.Build();

            var serviceCollection = new ServiceCollection();

            ConfigureServices(serviceCollection);

            var serviceProvider = serviceCollection.BuildServiceProvider();

            var logger = serviceProvider.GetService<ILogger<TaxApi>>();
            logger.LogDebug("why is this not going to the console!!!");
    }
}
使用上述库的测试控制台应用程序

class Program
{
    async static Task Main(string[] args)
    {
        await new TaxApi()
            .LoadSettings();
    }
}

可能它正在正确地写入控制台,但您的应用程序在记录器实际刷新并将消息打印到控制台之前终止。这是由于一些批处理效应

在日志语句之后添加这一行只是为了验证我的理论

await Task.Delay(1000);
await Task.Delay(1000);