gpt4 book ai didi

c# - 无法让控制台日志记录在 .net core 2.0 中工作

转载 作者:行者123 更新时间:2023-11-30 15:54:33 25 4
gpt4 key购买 nike

我有以下代码:

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"
}
}
}
}

但是没有任何内容记录到控制台,但我确实在调试日志中得到了输出,所以我错过了什么?

我已经验证它找到了配置文件,所以这不是问题!

最佳答案

看来 .net core 2.0 在打印到控制台之前有延迟。

所以它正在工作,我只是没有等待它冲洗!

关于c# - 无法让控制台日志记录在 .net core 2.0 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50221983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com