C# winform NLog AOP 记录全局未捕获的异常到日志

妈妈再也不用担心我找不到bug了  适合中国宝宝的体质 

程序入口Main函数添加事件订阅 

   // 注册全局异常处理程序
   AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;

   Application.Run(new MainForm());

 

    /// <summary>
    /// 全局异常处理程序
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
    {
        // 记录异常信息
        NLog.LogManager.GetCurrentClassLogger().Error(e);
        // 显示错误消息给用户
        Sunny.UI.UIMessageBox.ShowError($"发生了未处理的异常:\\n{e.ExceptionObject}");
    }

配合前面博客写的NLog配置 记录到日志文件

C# .Net NLog 日志配置文件 自用配置

 

posted @ 2024-04-06 02:59  Echo_xxx  阅读(63)  评论(0编辑  收藏  举报