nlog - 如何使用NLog根据参数写入不同的文件
问题描述
我希望能够根据我的日志参数之一将日志写入不同的日志文件。
可以说,bankId。每天和银行都会写入自己的文件,例如
2019-11-11-bank11.log
2019-11-12-bank11.log
等等。
我如何使用某种日志文件模式来实现编程。我不想每次我有一个新的银行 ID 时都创建一个新版本的应用程序。
解决方案
您可以在其中一个上下文类中设置上下文并使用布局渲染器进行渲染。
例如使用${mdlc}
和MappedDiagnosticsLogicalContext
:
配置:
<target name="file" xsi:type="File"
fileName="${basedir}/${mdlc:bankid}.log" .. />
代码:
using (NLog.MappedDiagnosticsLogicalContext.SetScoped("bankid", "bank11"))
{
logger.Info("myLogEvent");
}
另请参阅所有上下文布局渲染器