【问题标题】:Serilog "Maximum destructuring depth reached"Serilog“达到最大解构深度”
【发布时间】:2016-08-26 01:43:52
【问题描述】:

我已启用 SeriLog(最新版本)自我记录,并看到数百条消息说

达到最大解构深度

不知道这意味着什么,也不知道这是否是我需要担心的问题。

有谁知道触发此消息的原因以及我是否做错了什么?

【问题讨论】:

    标签: serilog


    【解决方案1】:

    发件人:https://github.com/serilog/serilog/wiki/Structured-Data

    解构是获取复杂的 .NET 对象和 将其转换为一个结构,稍后可以表示为, JSON 对象或 XML blob

    听起来你可能在一些你正在记录的数据中有一个循环引用,所以当 Serilog 试图解构它时,它会进入一个递归循环。听起来它有一些代码可以检测到这一点并停止无限递归。我怀疑这就是这个警告的来源。

    【讨论】:

    • 不完全确定它是循环引用,但我通过 Enricher 添加的对象之一是问题的根源。
    • 注意可以来自配置new LoggerConfiguration().Destructure.ToMaximumDepth(3)
    • @Mr.T 对我来说,这是丰富的 WithExceptionDetails 导致递归日志记录操作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-09
    • 1970-01-01
    • 2017-10-11
    • 1970-01-01
    相关资源
    最近更新 更多