[英]Dynamic appsettings for Serilog.Sink.Mail
我想将 Serilog.Sinks.Mail 与存储在 appsettings json 文件中的配置设置一起使用,并且可以动态更改我发送的每封邮件的主题和邮件接收器。 我为 mailSubject 设置了 {Message},然后我将日志消息中的第一个单词输入到我的主题中,但我想为每封邮件预先定义主题。
示例:在事件 A 中,向 PersonA@something.com 发送主题为“事件 A”的邮件。 在事件 B 中,向 PersonB@something.com 发送一封邮件,主题为“事件 B”,依此类推。
有没有办法用 Serilog 做到这一点,还是我应该使用其他东西来处理邮件?
目前,我的邮件应用设置如下所示:
{
"Name": "Email",
"Args": {
"fromEmail": "fromEmail@something.com",
"toEmail": "testmail@something.com",
"mailServer": "testmailServer",
"batchPostingLimit": 1,
"mailSubject": "{Message}",
"outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss} [{Level}] {Message}{NewLine:1}{Exception:1}"
}
我想不出一个简单的方法来做到这一点。 我认为最好的方法是在 C# 代码中进行配置,而不是通过appsettings.json
文件进行配置。
例如,您可以使用Serilog.Sinks.Map
( https://github.com/serilog/serilog-sinks-map ) 根据触发它的事件配置不同的接收器......
您仍然可以从appsettings.json
加载常见的 stuf,但您必须自己加载这些设置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.