NLog - как настроить условную запись в базу данных и при исключении в электронную почту и при исключении в файл - PullRequest
0 голосов
/ 24 марта 2020

Ранее я создал класс журналирования, в котором я мог выбрать Либо для записи в базу данных Oracle (как отдельное соединение), либо, если было исключение, для отправки по электронной почте SMTP, либо, если это было исключение для записать в физический файл (используя DefaultLogWriter из пространства имен Microsoft.VisualBasic.Logging).

Теперь, когда я пишу новое приложение WinForms, где база данных является SQL сервером ... и потому, что уже купили обрабатываются по-разному против Oracle ... Я хотел использовать NLog (из-за его встроенной способности записи всегда работать вне транзакции).

При вызове экземпляра объекта NLog.Logger определяется как

private static readonly NLog.Logger Logger = NLog.LogManager.GetCurrentClassLogger();

Возможно ли настроить вызов Logger.<LogLevel> так, чтобы исключения катились вниз (например, 1-я попытка базы данных, 2-я попытка отправки электронного письма, 3-я запись в файл)?

Спасибо за ваше время и любые предложения, которые вы предлагаете.

1 Ответ

0 голосов
/ 24 марта 2020

Я думаю, что FallBackGroup - это то, что вы ищете:

https://github.com/NLog/NLog/wiki/FallbackGroup-target

...