Настройте несколько электронных писем для Serilog.Приемник электронной почты на основе уровня журнала

#email #serilog #asp.net-core-2.2

#Адрес электронной почты #serilog #asp.net-core-2.2

Вопрос:

В моем asp.net проект core 2.2 (C #), я хочу, чтобы serilog использовал разные приемники в зависимости от уровня журнала. Например, для каждого уровня ниже предупреждения я хочу записать в базу данных sql. Для предупреждения я хочу отправить электронное письмо на warn@domain.com а для ошибок и выше я хочу отправить электронное письмо по адресу error@domain.com .

погуглил кучу разных «разных сообщений электронной почты serilog», «уровень журнала электронной почты serilog». Ничего подходящего не появляется.

В моем файле startup.cs (asp.net основной проект 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.