2

我在我的应用程序中配置了 NLog 以BufferingTargetWrapper使用MailTarget.

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

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

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

4

1 回答 1

0

您可以调用 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();
        }
于 2011-07-01T16:45:49.703 回答