给定以下类,我如何禁止 Serilog 记录 Credentials 属性?
public class SmtpConfigInfo
{
public string SmtpHostName { get; set; }
public int Port { get; set; }
[NotLogged]
public System.Net.ICredentialsByHost Credentials { get; set; }
}
理想情况下,我希望能够仅抑制凭据的“密码”属性。如果没有,我现在可以看到整个 Credentials 被压制。但是,当我按如下方式使用 Serilog 登录时,
seriLogger.Error("{@ConfigInfo}", MySmtpConfigInfo)
[NotLogged] 属性被忽略,我清楚地看到凭据的所有属性,包括用户名和密码。我看到一个文档似乎表明如果我的 Credentials 属性被分解为 UserName 和 Password 属性,那么将 [NotLogged] 应用于 Password 可以工作。这是我使用“Serilog.Extras.Attributed”的唯一选择吗?非常感谢!