我使用的是 nlog 4.5v,当使用 Callsite 布局渲染时,是否有参数设置有助于不捕获完整的堆栈跟踪?
我只需要最顶层堆栈的命名空间、类和方法名称。
从 4.7 版开始,文档提到 capturestacktrace=false 可以工作,但事实并非如此。设置为 false 时它不会打印任何内容。
找不到任何参数
NLog v4.7.1 添加了对使用 ${callsite} 时不自动捕获完整 StackTrace 的支持。通过引入选项
captureStackTrace=false
。但随后您需要通过显式调用 LogEventInfo.SetCallerInfo 来提供调用站点信息
NLog v5 引入了优化的流畅 LogEvent 构建器,它使用调用者成员属性来捕获调用站点,而无需使用完整的 StackTrace:
_logger.ForInfoEvent()
.Message("This is a fluent message {0}.", "test")
.Property("PropertyName", "PropertyValue")
.Log();