В моем проекте 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.