C# NLog:在AppDomain未处理异常上强制BufferingTargetRapper为空

C# NLog:在AppDomain未处理异常上强制BufferingTargetRapper为空,c#,nlog,unhandled-exception,C#,Nlog,Unhandled Exception,我已在应用程序中配置NLog,以使用BufferingTargetRapper发送带有MailTarget的电子邮件 我遇到的问题是,在应用程序退出未处理的异常之前,我找不到强制NLog清空BufferingTargetRapper的方法 我尝试从当前应用程序域的未处理异常事件调用LogManager.Flush()和LogManager.DisableLogging(),但它无法正常工作 我需要做什么才能让它发送电子邮件?您可以调用BufferingTargetRapper并强制它写入日志。奇

我已在应用程序中配置NLog,以使用
BufferingTargetRapper
发送带有
MailTarget
的电子邮件

我遇到的问题是,在应用程序退出未处理的异常之前,我找不到强制NLog清空
BufferingTargetRapper
的方法

我尝试从当前应用程序域的未处理异常事件调用
LogManager.Flush()
LogManager.DisableLogging()
,但它无法正常工作


我需要做什么才能让它发送电子邮件?

您可以调用BufferingTargetRapper并强制它写入日志。奇怪的是,LogManger.Flush不工作

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


您可以调用BufferingTargetRapper并强制它写入日志。奇怪的是,LogManger.Flush不工作

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


你在用PostFilteringRapper吗?我真的很想看看你的.nlog或编程配置。我认为要么有一个额外的线程运行在缓冲区中,它没有任何时间片,要么有一个挂起的计时器需要(一些)时间。您是否尝试过线程.Thread.Speep(x)?是否使用PostFilteringRapper?我真的很想看看你的.nlog或编程配置。我认为要么有一个额外的线程运行在缓冲区中,它没有任何时间片,要么有一个挂起的计时器需要(一些)时间。你有没有试过线程。线程。spep(x)?