如何在NLog的一个类中为每个日志消息附加上下文数据

本文关键字:日志 消息 数据 上下文 一个 NLog | 更新日期: 2023-09-27 18:05:26

我想将上下文数据(如事务id)附加到由类的一个实例创建的每个日志消息中。目前我只看到两种方法:

  • 用附加数据(大量附加代码)格式化每个日志消息
  • 引入私有非静态日志方法,将附加必要的数据(大量过载)

有什么其他的选择来完成这个?

如何在NLog的一个类中为每个日志消息附加上下文数据

另一个选项是将上下文数据添加到NLog上下文类中,如MDC:

设置:

MappedDiagnosticsContext.Set("transactionId",1);
呈现:

${mdc:item=transactionId} 

其他上下文类有:

  • GDC:全局所有线程
  • MDLC: MDC与异步支持
  • NDC:添加上下文到堆栈(push和pop)

目前在Logger作用域中没有上下文类。