Serilog C#如何防止记录大数据,例如图像数据或大型JSON对象



Serilog使用C#如何防止记录大数据,例如图像数据或大型JSON对象

如何配置serilog的Logapi,使其进行日志数据检查,以将输入记录到一定程度。

示例:

serilogLoggerInstance.Information("input"); -- input should have check to log if its below a define size. e.g. image data, large JSON object

我认为,在某些情况下,记录大量数据可能很有用,但可能只有在调查某些错误时,才应根据特定请求记录。因此,我的建议是制定一些关于应该记录什么、记录到什么级别以及记录频率的政策。请记住,您可以登录到多个级别:

serilogLoggerInstance.Information("Received image of size: {image.Size}");
serilogLoggerInstance.Verbose("Received image Data: {image.Data}");

强制执行某个限制的问题是限制应该是什么。如果太小,您将丢失重要的日志记录信息。太大了,你不会减少日志大小太多。一些技术解决方案对于查找不良日志消息的来源可能仍然很有价值,但我不知道如何在serilog中实现类似的东西。您总是可以为记录器创建一个装饰器,但只有在注入记录器并且不使用某些静态工厂或实例的情况下,这才是可行的。

最新更新