我在我的应用程序中配置了 NLog 以BufferingTargetWrapper
使用MailTarget
.
我遇到的问题是我找不到强制 NLogBufferingTargetWrapper
在应用程序退出未处理异常之前清空的方法。
我尝试从当前应用程序域的 UnhandledException 事件中调用LogManager.Flush()
和LogManager.DisableLogging()
,但它无法正常工作。
我需要做什么才能让它发送电子邮件?
我在我的应用程序中配置了 NLog 以BufferingTargetWrapper
使用MailTarget
.
我遇到的问题是我找不到强制 NLogBufferingTargetWrapper
在应用程序退出未处理异常之前清空的方法。
我尝试从当前应用程序域的 UnhandledException 事件中调用LogManager.Flush()
和LogManager.DisableLogging()
,但它无法正常工作。
我需要做什么才能让它发送电子邮件?
您可以调用 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();
}