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

时间:2016-09-12 08:27:50

标签: serilog

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

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

1 个答案:

答案 0 :(得分:0)

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

中有一个JSON大小限制的示例

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