NLog: Forcer BufferingTargetWrapper à se vider lors d’une exception AppDomain UnhandledException

NLog est configuré dans mon application pour utiliser BufferingTargetWrapper pour l’envoi d’e-mails avec MailTarget .

Le problème que je rencontre est que je ne peux pas trouver un moyen de forcer NLog à vider BufferingTargetWrapper avant que l’application ne quitte Exceptions non gérées.

J’ai essayé d’appeler LogManager.Flush() et LogManager.DisableLogging() partir de l’événement UnhandledException du domaine d’application actuel, mais cela ne semble pas fonctionner.

Que devrais-je faire pour que les courriels soient envoyés?

vous pouvez appeler BufferingTargetWrapper et le forcer à écrire les journaux. Son étrange que le LogManger.Flush ne fonctionne pas.

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

ou

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