Serilog 是否有办法限制 logEvent 的整体大小?

Does Serilog have a way to limit the overall size of a logEvent?

我有一个写入 Azure 队列存储的自定义接收器,对于某些事件,尤其是在解构大型实例时,我们正在达到 Azure 对排队消息的消息大小限制(Base64 为 64KB 或 48KB)编码消息)。将消息放入队列时出现异常。我需要避免异常并截断消息以适应。

Serilog 是否有内置方法来帮助限制 LogEvent 的整体大小,还是我们必须自己编写限制器代码?

这需要在接收器级别实现,因为不同的表示有不同的大小要求。 JSON 的大小限制示例如下:https://github.com/serilog/serilog-sinks-seq/blob/dev/src/Serilog.Sinks.Seq/Sinks/Seq/SeqSink.cs#L147

Serilog 也有 Destructure.ToMaximumDepth(n),但这对于您正在寻找的控件类型来说不够精确。