.net core 自带一个基础的logger框架Microsoft.Extensions.Logging。
微软默认实现了Microsoft.Extensions.Logging.Console.dll。控制台的日志输出和Microsoft.Extensions.Logging.Debug.dll调试输出。
下面我们写一个我们自己的本地文件输出模块demo,简单理解一下自带的这个logger系统。
logger框架主要几个类:LoggerFactory,Logger,LoggerProvider。
看名字就很好理解,都不需要解释。
实现我们自己的file logger只需要实现logger,loggerProvider即可。
第一步:入口。
loggerFactory.AddFile(this.Configuration.GetSection("FileLogging"));
为LoggerFactory扩张一个方法,提供增加日志写文件方式的入口。相关的配置来自appsettings.json
1 public static class FileLoggerExtensions 2 { 3 //add 日志文件创建规则,分割规则,格式化规则,过滤规则 to appsettings.json 4 public static ILoggerFactory AddFile(this ILoggerFactory factory, IConfiguration configuration) 5 { 6 return AddFile(factory, new FileLoggerSettings(configuration)); 7 } 8 public static ILoggerFactory AddFile(this ILoggerFactory factory, FileLoggerSettings fileLoggerSettings) 9 { 10 factory.AddProvider(new FileLoggerProvider(fileLoggerSettings)); 11 return factory; 12 } 13 }