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