2013-05-02 86 views
0

我目前正在維護一個具有中小型用戶羣的桌面Java應用程序。我經常收到一些非常無用的郵件,說「發生了什麼問題」,我仍然通過源代碼進行挖掘,通常無法重現問題。在Java應用程序中收集異常報告

現在我想知道是否有一個庫允許我在收集異常時收集它們,向用戶展示一個小對話框,並且如果/當他們同意時,將堆棧跟蹤發佈到我的web服務器。基本上我正在尋找的東西類似於Application Crash Report for Android (ACRA),但是對於桌面Java應用程序。

+0

你試過嗎? http://stackoverflow.com/questions/1312851/strategies-techniques-for-crash-reporting-in-java – Andre 2013-05-02 19:25:08

+0

你可以通過調用'System.setErr(new java.io.PrintStream(new java .io.File(filename)));'在應用程序的開始處。這將輸出從'System.err'到文件的所有內容。 – gparyani 2013-05-02 19:37:18

+0

我會使用日誌記錄,使用SLF4j或log4j將錯誤存儲在已定義的日誌文件中。但那只是我http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html – user2280897 2013-05-02 20:00:28

回答

2

如果您使用SLF4J和Logback,您可以配置appender將詳細的錯誤報告發送到Ctrlflow Automated Error Reporting服務器(提供過濾和彙總傳入報告+儀表板+電子郵件摘要)。這blog post有關於如何配置相應的Logback的所有信息。

如果您想首先向用戶顯示確認對話框,則可能需要擴展現有的appender,除非您的「Desktop Java應用程序」是「Eclipse Rich Client Platform應用程序」。在這種情況下,工作已經爲你完成了。有關更多信息,請參閱此webinar