在我的asp.net core 2.2项目(C#)中,我希望serilog根据日志级别使用不同的接收器。例如,对于低于警告的每个级别,我都想写入sql数据库。对于警告,我想将电子邮件发送到warn@domain.com,对于错误,我想将电子邮件发送到error@domain.com。
搜索了一堆不同的“ serilog不同的电子邮件”,“ serilog电子邮件日志级别”。什么都没有出现。
在我的startup.cs文件(asp.net core 2.2项目)中:
Log.Logger = new LoggerConfiguration()
.ReadFrom.Configuration(configuration)
.Enrich.FromLogContext()
.Enrich.WithMachineName()
.WriteTo.MSSqlServer(configuration["ConnectionStrings:DefaultConnection"], "censor_logs", columnOptions: columnOptions, autoCreateSqlTable: true)
.CreateLogger();
在appsettings.json
"Serilog": {
"MinimumLevel": "Warning"
}
想要登录。警告转到电子邮件接收器到特定的电子邮件地址 log.Error及以上,以转到另一个电子邮件链接 和 所有日志活动(包括上述活动)都将进入sql数据库。现在,我只是获得所有警告级别以及对SQL的警告。