我想拦截即将由Serilog写入的日志,并根据某些逻辑进行修改,例如查找日志中的某些敏感信息并进行屏蔽。
到目前为止,我最接近的方法是找到了ILogEventEnricher。
最初的回答:
我希望拦截Serilog即将写入的日志并根据一些逻辑进行修改,例如查找日志中的敏感信息并进行遮蔽。目前我找到的最接近的方法是使用ILogEventEnricher。请注意保留HTML标记。
到目前为止,我最接近的方法是找到了ILogEventEnricher。
最初的回答:
我希望拦截Serilog即将写入的日志并根据一些逻辑进行修改,例如查找日志中的敏感信息并进行遮蔽。目前我找到的最接近的方法是使用ILogEventEnricher。请注意保留HTML标记。
public class LogEnricher : ILogEventEnricher
{
public void Enrich(LogEvent logEvent, ILogEventPropertyFactory propertyFactory)
{
//do something here, but what?
}
}
但是LogEvent的MessagTemplate属性只读。有没有办法在记录日志之前拦截日志并修改它们。
有什么想法吗?
原始答案:最初的回答
logEvent
应该允许你添加/删除/更改属性,对吧? - Ruben BartelinkMain()
方法以了解其完整实现)- 现在时间有点紧,暂时无法为你写出详细答案,抱歉。希望对你有所帮助! - Nicholas Blumhardt