SeriLog 实现多文件
有一万个理由,按业务输出日志,关注某个业务的变化,磁盘够大的话,仍然可以在一个主文件中再写一份日志,即一份日志写全部的日志,另一些日志,则按业务分开这些文件,最普通的做法是按日志等级输出到不同的文件。
如果喜欢针对不同的业务创建一个logger来实现记录,可以考虑以下方法
LoggerConfiguration配置
logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.Enrich.FromLogContext().WriteTo.Map(
"LoggerName", //不要直接去访问Properties
(name, wt) => rollingFile(wt, $"logs\\{name}_.log")
).CreateLogger();
@@#
Logger管理(添加属性LoggerName)
public ILogger GetLogger(string loggerName)
{
if (loggers.TryGetValue(loggerName, out var logger))
return logger;
else
{
return logger.ForContext("LoggerName", name, true); }
}
}
@@#
输出的文件