У меня есть следующий код:
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
Configuration = builder.Build();
var serviceProvider = new ServiceCollection()
.AddLogging(loggingBuilder => loggingBuilder.AddConfiguration(Configuration.GetSection("Logging"))
.AddConsole()
.AddDebug())
.AddSingleton<IEngine, Engine>()
.BuildServiceProvider();
var engine = serviceProvider.GetService<IEngine>();
await engine.RunAsync();
И
public class Engine : IEngine
{
private readonly ILogger<Engine> logger;
public Engine(ILoggerFactory loggerFactory)
{
logger = loggerFactory.CreateLogger<Engine>();
}
public async Task RunAsync()
{
logger.LogError("Test");
logger.LogTrace("Starting engine!");
}
}
Тогда у меня есть следующая конфигурация
{
"Logging": {
"IncludeScopes": false,
"Console": {
"LogLevel": {
"Default": "Trace",
"System": "Information",
"Microsoft": "Information"
}
}
}
}
Но на консоль ничего не записывается, но я получаю вывод в журнал отладки, так чего мне не хватает?
Я убедился, что он находит файл конфигурации, так что проблема не в этом!