Sun*_*day 8 c# console logging console-application .net-core
我想使用 Microsoft.Extensions.Logging 将内容记录到控制台。我已经这样设置了:
static void Main()
{
ILoggerFactory loggerFactory = LoggerFactory.Create(builder => builder.AddConsole());
ILogger logger = loggerFactory.CreateLogger<Program>();
logger.LogInformation("Current directory {0}", Directory.GetCurrentDirectory());
}
Run Code Online (Sandbox Code Playgroud)
但是,没有任何内容写入控制台。
Sun*_*day 14
问题是ConsoleLoggerProvider,添加到loggerFactoryby 的AddConsole是IDisposable并且必须被丢弃,以便刷新输出。处置遗嘱loggerFactory可以实现这一点。loggerFactory.Dispose()因此,要么在程序末尾调用,要么using在创建 loggerFactory 时添加,如下所示:
static void Main()
{
using ILoggerFactory loggerFactory = LoggerFactory.Create(builder => builder.AddConsole());
ILogger logger = loggerFactory.CreateLogger<Program>();
logger.LogInformation("Current directory {0}", Directory.GetCurrentDirectory());
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18999 次 |
| 最近记录: |