2013-07-23 40 views
1

我們有一個控制檯應用程序,目前正在使用Log4Net & ELMAH。用於記錄異常的Log4net和用於未處理的異常的ELMAH。我已經讀過,ELMAH是在不更改代碼的情況下捕獲應用程序異常的好工具,但這不是我們的情況。 我不確定這種方法,所以我的問題是:使用ELMAH是一個好主意來處理未處理的異常嗎?

正在使用ELMAH一個好主意來處理未處理的異常?

正如我所看到的,我們不應該有任何未處理的異常。在Main()函數中使用Try/Catch會捕獲所有這些,不是嗎?

或訂閱UnhandledExceptionEventHandler?

回答

1

Elmah只是綁定到UnhandledException爲你(有更多的基礎設施;用戶界面,日誌記錄,消息發送,配置),但這是你不能自己做的事情,如果你想投資時間重新發明輪。

儘管我的印象是Elmah更適合基於Web的應用程序,所以要看它在控制檯應用程序中的使用情況,讓我想知道添加的功能(基於Web的日誌查看)是否真的是額外的好處在這一點上,或不只是矯枉過正。

+0

你說的「重新發明輪子」是指什麼?這個想法只是捕獲所有的異常並將它們放入日誌存儲庫。沒有花哨的東西作爲網絡用戶界面,因爲它是一個控制檯應用程序... –

+2

@cad:嗯,你要麼使用elmah(它已經有一個數據庫結構,記錄mechanizsm,並過濾功能),或者你創建你自己的出口/審查機制(xml?db?) –

+0

謝謝。我知道了。在這種情況下使用ELMAH似乎是一種矯枉過正。 Log4net就夠了... –