NLog全局属性

时间:2016-06-15 12:41:44

标签: c# parameters nlog

使用NLog有没有办法为日志定义全局LogEventInfo属性? 使用构造

var logEventInfo = new LogEventInfo(LogLevel.Trace, Log.Name, "Hello world");
logEventInfo.Properties["messageName"] = "MessageName2";

不合适,因为在大型项目中使用Info(...)和类似的方法。但是我们需要添加一些参数来在Gelf日志记录中观察它们,而无需重写代码。

1 个答案:

答案 0 :(得分:3)

您在寻找全局诊断上下文/映射诊断上下文吗?

在您的代码中设置:

GlobalDiagnosticsContext.Set("prop1", "I'm scoped for all threads");
MappedDiagnosticsContext.Set("prop2", "I'm scoped per thread and child thread");

配置中的用法:

${gdc:item=prop1}
${mdc:item=prop2}

另见https://github.com/nlog/nlog/wiki/gdc-Layout-Renderer& https://github.com/nlog/nlog/wiki/mdc-Layout-Renderer