Serilog.Extras.AppSettings和复杂对象

时间:2014-09-23 12:05:38

标签: c# appsettings serilog

我正在使用Serilog.Extras.AppSetting包来配置Serilog。我正在尝试使用电子邮件接收器(Serilog.Sinks.Email),但我无法弄清楚如何通过AppSetting配置网络凭据属性。

    <add key="serilog:using" value="Serilog.Sinks.Email" />
    <add key="serilog:write-to:Email.mailServer" value="localhost" />
    <add key="serilog:write-to:Email.fromEmail" value="test@google.com" />
    <add key="serilog:write-to:Email.toEmail" value="test@google.com" />
    <add key="serilog:write-to:Email.restrictedToMinimumLevel " value="Error" />

<add key="serilog:write-to:Email.networkCredential" value="???" />

如何使用AppSettings指定/表示 NetworkCredential 对象?它是否可能,或者这是在Serilog中配置AppSetting方法的限制?

2 个答案:

答案 0 :(得分:1)

不幸的是,目前还没有很好的办法。

在过去出现这种情况时,我们有时会添加带有简单参数的重载 - 欢迎提出错误或PR以达到此效果。

否则,手动读取AppSettings中的值并在代码中配置接收器是最好的选择。

答案 1 :(得分:0)

Serilog是否从<mailSettings> element in your app.config获取设置?如果没有,这将是一个很好的公关;)