我編寫了一個複雜的應用程序,現在我必須在一些測試人員的幫助下進行調試。我現在面臨的問題是,他們無法知道在使用該軟件期間發生了什麼樣的異常。當用戶使用應用程序或Applet時,是否有一種快速獲取控制檯流並在另一個窗口中顯示消息的方法?重定向Java控制檯消息
0
A
回答
1
您可將所有控制檯消息在應用程序啓動文件(或其他流),然後看文件內容爲GET例外:
FileOutputStream fos = new FileOutputStream("log.txt");
PrintStream out = new PrintStream(fos);
System.setOut(out);
System.setErr(out);
System.out.println("Logged to file");
1
使用類似slf4j的日誌框架和logback。它提供了幾十個不同的「appender」 - 幫助者將日誌消息保存在不同的地方。
對於您的使用案例,我建議編寫一個新的appender,收集線程安全列表中的最後100條消息。
將它附加到根記錄器(請參閱文檔)。
當記錄錯誤或異常時,從列表中取出所有消息並將它們轉換爲字符串。當使用logback
時,create an encoder爲此。
加入字符串並將它們顯示在文本編輯器小部件中,以便客戶端可以輕鬆切割&將郵件粘貼到電子郵件中。
另外,您可以嘗試現有的郵件appender。將其配置爲僅對錯誤做出響應,並讓錯誤直接發送給您。但我建議確保您的郵件提供商能夠處理這個問題 - 我們曾經發生過一個軟件錯誤導致超過70,000封郵件過夜發送的情況。之後,我們瞭解到Outlook無法處理那麼多郵件。
+2
我會去換套接字appender - 將日誌發送到日誌主機。這意味着您可以在客戶端進行日誌記錄。 –
相關問題
- 1. 消息控制檯Java
- 2. 將Windows對話框錯誤消息重定向到控制檯
- 3. MongoMapper控制檯消息
- 4. UIImagePickerController控制檯消息
- 5. 關閉控制檯消息
- 6. CoreUI控制檯消息
- 7. 控制檯控制檯Api - 本地重定向Url
- 8. 從java控制檯重新指定輸出消息到jTextArea或jLabel
- 9. StartupinfoEX和控制檯重定向
- 10. 重定向控制檯輸出到UNIX
- 11. 實時控制檯重定向問題
- 12. 將subprocess.Popen stderr重定向到控制檯
- 13. 將輸出重定向到控制檯
- 14. 控制檯重定向輸入
- 15. 控制檯重定向與Console.CursorLeft
- 16. 雲控制檯重定向不工作
- 17. SignalR javascript控制檯日誌重定向
- 18. Eclipse控制檯錯誤消息限制
- 19. Instamojo - 如何控制重定向頁面消息
- 20. 實時重定向控制檯輸出流使用Java
- 21. 如何控制檯重定向到新窗口中的Java
- 22. 如何使用Java重定向到Pentaho用戶控制檯?
- 23. 將控制檯輸出重定向到java中的字符串
- 24. 如何將控制檯內容重定向到Java中的textArea?
- 25. Applet Java控制檯:刪除跟蹤消息大小限制
- 26. 重定向消息Symfony
- 27. Django的消息重定向
- 28. 重定向回消息
- 29. ios libxml recup控制檯消息xmlSchemaValidateDoc
- 30. 將消息記錄到JUnit控制檯
您使用的日誌框架? –
這個複雜的應用程序,請說你正在使用一個真正的日誌框架,而不是'System.out.println' ... –
你使用命令行來運行它嗎?或者它是一個.jar/.exe? – Levenal