使用NLog有没有办法为日志定义全局LogEventInfo
属性?
使用构造
var logEventInfo = new LogEventInfo(LogLevel.Trace, Log.Name, "Hello world");
logEventInfo.Properties["messageName"] = "MessageName2";
不合适,因为在大型项目中使用Info(...)
和类似的方法。但是我们需要添加一些参数来在Gelf
日志记录中观察它们,而无需重写代码。
答案 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