gpt4 book ai didi

c# - NLog Web 服务目标 : StackTrace null

转载 作者:太空宇宙 更新时间:2023-11-03 12:08:33 24 4
gpt4 key购买 nike

当将 MailTarget 与自定义 LayoutRenderer 一起使用时,我可以看到 LogEventInfo.StackTrace 包含随后可以包含在呈现的数据中的数据回复。但是,将 MailTarget 替换为 WebServiceTarget 并使用相同的自定义 LayoutRenderer LogEventInfo.StackTrace 现在返回 null

两个目标都是“常用”NLog 实现,使用相同的 LayoutRenderer 从相同的代码调用

有没有人遇到过同样的问题? WebServiceTarget 是否有一些限制阻止堆栈跟踪被捕获?

解决方案,基于以下 Rolf 的建议:

public sealed class MyLayoutRenderer : LayoutRenderer, IUsesStackTrace
{
public StackTraceUsage StackTraceUsage => StackTraceUsage.Max;

....
}

最佳答案

如果您使用像 Ex 这样的布局渲染器,NLog 只会为目标捕获并提供 StackTrace。 ${callsite}

如果您有自定义布局渲染器,那么您可以继承自 NLog.Internal.IUsesStackTrace(并返回 StackTraceUsage.Max)

关于c# - NLog Web 服务目标 : StackTrace null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53655517/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com