如何为NLog

时间:2016-09-03 19:56:24

标签: c# .net nlog

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

  • 使用其他数据(大量附加代码)格式化每条日志消息
  • 介绍将附加必要数据(大量重载)的私有非静态日志方法

有什么其他选择可以实现这一目标?

1 个答案:

答案 0 :(得分:2)

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

设置:

MappedDiagnosticsContext.Set("transactionId",1);

渲染:

${mdc:item=transactionId} 

其他上下文类是:

  • GDC:所有线程的全局
  • MDLC:支持异步支持的MDC
  • NDC:向堆栈添加上下文(推送和弹出)

目前,Logger范围内没有上下文类。