Настройте несколько электронных писем для приемника Serilog.Email на основе уровня журнала - PullRequest
1 голос
/ 09 апреля 2019

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

.

гуглил кучу разных "serilog Different email", "serilog email log level". Ничего уместного не получается.

В моем файле startup.cs (проект ядра 2.2 для asp.net):

         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.

...