Условное ведение журнала Serilog на C#

#c# #asp.net-core #asp.net-core-mvc #serilog

#c# #asp.net-ядро #asp.net-core-mvc #serilog

Вопрос:

Существует Asp.Net Основное требование проекта, согласно которому нам необходимо регистрировать ошибки, предупреждения, информацию, исключения и т.д. для потоков, приведенных ниже:

1) Таблица SQL Server.

2) Во время ведения журнала, если база данных SQL Server внезапно становится недоступной, мы хотели бы продолжить ведение журнала, записав записи журнала в общую сетевую папку.

3) Опять же, если во время ведения журнала общая сетевая папка становится недоступной, то мы хотим продолжить ведение журнала в локальной папке.

Является ли этот сценарий чем-то, что Serilog (https://serilog.net /) может помочь нам достичь?

Ответ №1:

Нет, это не встроено в описанные вами приемники Serilog.

Одновременное включение всех трех приемников приводит примерно к одному и тому же результату — вы могли бы избежать дополнительной задержки, записав через Serilog.Тонет.Асинхронный, если проблема с файловым вводом-выводом.