.net 6 控制台应用程序在 Windows 上使用 LoggerFactory - 最终消息不会出现在控制台上。 loggerFactory.Dispose() 没有帮助。 Ilogger 没有 Dispose() 方法。
这是一个复制品。出现大约 20 到 70 条循环消息。在那之后,什么都没有。
using var loggerFactory = LoggerFactory.Create(builder =>
{
builder
.AddFilter("Microsoft", LogLevel.Warning)
.AddFilter("System", LogLevel.Warning)
.AddFilter("MyTestApp.Program", LogLevel.Debug)
.AddConsole();
});
ILogger logger = loggerFactory.CreateLogger<Program>();
try
{
logger.LogInformation("Starting");
for (var i=0; i < 100; i++)
{
logger.LogInformation($"This is a nice long message for {i}.");
}
throw new Exception("boom");
}
catch (Exception e)
{
logger.LogInformation(e.ToString());
}
finally
{
loggerFactory.Dispose();
}