NLog: принудительно опустошить BufferingTargetWrapper в AppDomain UnhandledException - PullRequest
2 голосов
/ 10 марта 2010

В моем приложении настроен NLog для использования BufferingTargetWrapper для отправки электронных писем с MailTarget.

Проблема, с которой я сталкиваюсь, заключается в том, что я не могу найти способ заставить NLog очистить BufferingTargetWrapper до выхода приложения из необработанных исключений.

Я пытался вызвать LogManager.Flush() и LogManager.DisableLogging() из события UnhandledException текущего домена приложения, но оно не работает,

Что мне нужно сделать, чтобы оно отправляло электронные письма?

1 Ответ

0 голосов
/ 01 июля 2011

вы можете вызвать BufferingTargetWrapper и заставить его писать логи. Странно, что LogManger.Flush не работает.

var buffWapper =
            LogManager.Configuration.FindTargetByName("BufferingTargetWrapper") as BufferingTargetWrapper;
        if (buffWapper != null)
            buffWapper.Flush();

или

var buffWapper =
            LogManager.Configuration.FindTargetByName("BufferingTargetWrapper") as BufferingTargetWrapper;
        if (buffWapper != null)
        {
            buffWapper.BufferSize = 1;
            buffWapper.Flush();
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...