serilog拦截日志和修改日志

问题描述 投票:1回答:1

我想截取即将由serilog编写的日志,并根据一些逻辑对其进行修改,即在日志中查找一些敏感信息并对其进行掩码。

我到达的最接近点是找到ILogEventEnricher

public class LogEnricher : ILogEventEnricher
{
    public void Enrich(LogEvent logEvent, ILogEventPropertyFactory propertyFactory)
    {
       //do something here, but what?
    }
}

但LogEvent的MessagTemplate属性是readonly。任何想法如何在记录之前拦截日志并修改它们。

logging serilog
1个回答
1
投票

处理Serilog的常用方法是告诉Serilog在解构对象时不要记录某些属性。

例如,通过Destructurama.Attributed

public class LoginCommand
{
    public string Username { get; set; }

    [NotLogged]
    public string Password { get; set; }
}

你可以在这篇博文中阅读更多内容:qazxsw poi。


您也可以通过Using attributes to control destructuring in Serilog做类似的事情

Destructurama.ByIgnoring
© www.soinside.com 2019 - 2024. All rights reserved.