SeriLog 实现多文件

   

有一万个理由,按业务输出日志,关注某个业务的变化,磁盘够大的话,仍然可以在一个主文件中再写一份日志,即一份日志写全部的日志,另一些日志,则按业务分开这些文件,最普通的做法是按日志等级输出到不同的文件。

如果喜欢针对不同的业务创建一个logger来实现记录,可以考虑以下方法

   

LoggerConfiguration配置

@@@code

logger = new LoggerConfiguration()

.MinimumLevel.Debug()

.Enrich.FromLogContext().WriteTo.Map(

"LoggerName", //不要直接去访问Properties

(name, wt) => rollingFile(wt, $"logs\\{name}_.log")

).CreateLogger();

@@#

   

Logger管理(添加属性LoggerName)

@@@code

public ILogger GetLogger(string loggerName)

{

   

if (loggers.TryGetValue(loggerName, out var logger))

return logger;

else

{

return logger.ForContext("LoggerName", name, true); }

}

}

@@#

   

   

   

输出的文件

   

  

posted @ 2022-12-05 16:19  秦秋随  阅读(759)  评论(0编辑  收藏  举报