我想弄清楚一個乾淨的方法來攔截在我的應用程序中發生的未捕獲的異常。如何攔截Tomcat上未捕獲的異常?
我有log4j配置爲記錄正常的應用程序流和捕獲異常,所以這是照顧。現在,我有一個類,它接收所有錯誤級別的消息,並將它們添加到隊列中以批量發送電子郵件。
理想情況下,我希望有一種方法可以攔截未捕獲的異常,以便我可以將它們傳遞給同一個'郵件批處理'隊列,但如果這不是可行的,我當然可以接受建議。
我對JBoss上的LogInterceptors很熟悉,但是這個項目使用Tomcat。有什麼辦法可以解決這個問題嗎?有沒有一個Tomcat的LogInterceptor equivelant?我應該嘗試將Tomcat日誌記錄重定向到自定義appender嗎? (如果是這樣 - 對此有任何提示?)其他一些想法?
我覺得這個有現在已經解決了,所以我希望挖掘一些集體智慧。謝謝大家,提前。
我想這不會工作,因爲即使您的應用程序沒有,tomcat也會捕獲所有異常。如果它不在其線程池中的線程將繼續死於Web應用程序的錯誤。 – 2009-06-15 19:11:47