文章目錄
- 一、前言
- 二、操作步驟
-
- 1、建立.netcore 控制台應用程式:
- 2、添加全局異常事件捕捉方法:
- 3、日志儲存結果預覽:
- 三、總結
一、前言
上一篇講解了Seriallog日志記錄
這一篇結合日志記錄,講解如何全局捕捉并儲存錯誤異常事件,友善Bug記錄分析;
二、操作步驟
1、建立.netcore 控制台應用程式:
Main方法代碼如下:
public static async Task<int> Main(string[] args)
{
//1、日志輸出配置
DebugPrint();
//2、全局異常事件捕捉:一定要在DebugPrint();日志配置的後面
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
//3、開啟控制台服務
int tmpResult = await StartConsoleHost(args);
return tmpResult;
}
2、添加全局異常事件捕捉方法:
全局為異常事件:隻捕捉未知的異常事件,try catch 中的事件捕捉不到
private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
Log.Error(e.ExceptionObject.ToString()); //日志儲存錯誤資訊
}
3、日志儲存結果預覽:
2021-05-09 20:24:12.298 +08:00 [ERR] System.Exception: 錯誤日志輸出************
at AoRuiDe.GasMonitoring.ConsoleService.MainService.StartServiceAsync() in E:\Projects\AoRuiDe.GasMonitoring\src\AoRuiDe.GasMonitoring.ConsoleService\MainService.cs:line 86
at System.Threading.Tasks.Task.<>c.b__140_1(Object state)
at System.Threading.QueueUserWorkItemCallbackDefaultContext.Execute()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

三、總結
風蕭蕭兮易水寒 一堆Bug兮誤餘年