在我工作的公司,我創建了一個錯誤記錄類來處理我的ASP.net應用程序中的錯誤。這是一個自定義類,因爲我們不允許在我們的服務器上安裝額外的軟件(nLog,log4net等)。要從錯誤中記錄多少信息?
我目前在我的兩個項目中使用它,並從中看到了一些好的結果。現在我正在捕獲導致頁面和應用程序錯誤的錯誤。它發送並存儲錯誤消息和所有內部異常。
我現在面臨的問題是,我收到錯誤,我不太清楚如何重現。我沒有聽到任何用戶的任何錯誤報告。我不確定他們在做什麼,或者即使他們將這些視爲錯誤。
我正在考慮在每個頁面上創建一個事件日誌,或者我想要了解更多信息。將它作爲Session變量保存在頁面上,並向它寫入事件(函數的開始/結束,變量的更改等)。然後,只有在調用錯誤時纔會發送錯誤消息,以查看是否可以更好地瞭解發生的情況。我希望這樣做不會讓所有用戶訪問應用程序時發生大量的事件日誌,只是想在一個用戶發生錯誤之前就開始工作。
你知道我應該注意什麼缺陷嗎?
您有任何建議要尋找的東西嗎?
更新:
@Saret:我understnad你在哪裏與響應快到了,我同意。我對這家公司相當陌生,仍然需要了解他們如何做事。在過去,我曾與同事談過如何擁有這款產品,或者使用這個開源項目。問題歸結爲,我們在安全系統上工作,並獲得批准以獲得這些東西需要花費大量時間,封頂和處理所有繁文red節。我會進一步研究這種情況,因爲我認爲有一個好的錯誤記錄系統非常重要,目前沒有任何東西正在被使用。
@Jim Blizard:我想盡量避免記錄/存儲所有的東西回來,找出對導致錯誤的情況很重要。我不想陷入過度的羅伯託巴羅斯關聯的文章中討論的信息。我目前的思考方法是,在每個頁面的內存中保留一個字符串,並且如果出現錯誤,則在頁面Page_Error事件中,抓住該字符串並將其附加到正在記錄的異常。這樣我只記錄發生的錯誤/異常並將錯誤存儲到事件日誌中。如果沒有任何事情發生,那麼正在創建的日誌將被放入位桶中,永遠不會再被看到。
@羅伯託巴羅斯:感謝你的鏈接,我記得在某處讀過它,但忘了保存它。
請糾正我,如果我錯了,但據我所知,log4net的是一個單一的DLL和不需要安裝。 – 2009-01-04 17:29:32