代码之家  ›  专栏  ›  技术社区  ›  RoboDev

NLog:在AppDomain UnhandledException上将BufferingTargetRapper强制为空

  •  2
  • RoboDev  · 技术社区  · 16 年前

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

    我遇到的问题是我找不到一种方法来迫使NLog清空 在应用程序退出未处理的异常之前。

    我试着打电话 LogManager.Flush() LogManager.DisableLogging() 来自当前应用程序域的UnhandledException事件,但它无法接合工作。

    1 回复  |  直到 9 年前
        1
  •  0
  •   Jethro    15 年前

    您可以调用BufferingTargetWrapper并强制它写入日志。奇怪的是日志管理员。刷新不起作用。

    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();
            }