c# - 无法让控制台日志记录在 .net core 2.0 中工作
问题描述
我有以下代码:
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 在打印到控制台之前似乎有一个延迟。
所以它正在工作,我只是没有等待它冲洗!
推荐阅读
- triggers - Tumbling Window Trigger 取消过去的执行 Azure 数据工厂
- javascript - 程序给出一个点的距离
- laravel - Laravel fortify,如果用户不活跃,则阻止用户登录
- qt - 如何为 QObject 类创建接口
- wordpress - wordpress 主题中的 Grunt uncss
- javascript - 从 local.properties 获取值并在 .tag 和 .jsp 文件中使用它
- c# - 从 SMBfile 安装 APK:如何获取 Uri
- javascript - Delete object from array using map
- sql-server - SQL - 从 varchar 字符串中删除模式
- powershell - Powershell 回声等效