.Net Core 日志框架 (一)
2021-08-20 本文已影响0人
寻找无名的特质
.Net Core 提供了日志框架,通过安装Microsoft.Extensions.Logging可以使用这个框架,基本思想是将日志的功能与实现分离,在应用中只要调用抽象的接口,不需要关心使用的具体日志,比如NLog、Log4Net还是Serilog,这些具体的日志实现交给依赖注入容器负责。
现在简单介绍一下在控制台应用中使用Logging框架,首先引入Microsoft.Extensions.Logging和Microsoft.Extensions.Logging.Console,然后在代码中定Provider义:
private static ServiceProvider GetServiceProvider()
{
var services = new ServiceCollection();
services.AddLogging(configure => configure.AddConsole());
var provider = services.BuildServiceProvider();
return provider;
}
使用时可以直接从service中获取:
var provider = GetServiceProvider();
var logger = provider.GetService<ILogger<Program>>();
logger.LogInformation("Begin");