簡體   English   中英

如何在 Java Swing 應用程序中寫入日志並實時顯示它們?

[英]How do I write logs and display them real-time in a Java Swing application?

我創建了一個 GUI 程序,它使用 class 來執行一些任務。

我想在JFrame和 class 中添加日志記錄。 日志應保存在文件中並同時顯示在JTextArea中。

對此有什么方便的解決方案?

創建一個包裝器

  1. 更新您的 JTextArea
  2. 通過log4jSLF4JApache Commons Logging或其他日志框架記錄日志
public void log(String msg) { appendToJTextArea(msg); LOG.info(msg); }

我建議使用簡單的System.out.println()調用,然后像這樣運行您的應用程序:

java -cp path/to/my/class/or/jar/MyClass.class MyClass -debug > myLog.log

這將為您創建一個文本窗格( -debug參數),並為您將它們放入日志文件中。

您可以輕松登錄到文件的一種方法是使用 FileWriter:
http://download.oracle.com/javase/1.4.2/docs/api/java/io/FileWriter.html

此外,當您記錄數據時,您始終可以使用 JTextArea.append() 更新 JTextArea 的文本:
http://download.oracle.com/javase/1.4.2/docs/api/javax/swing/JTextArea.html

如果您要登錄到一個文件,我是否建議您登錄到多個時間戳文件? 這可確保您保存數據,並且在程序崩潰時不會丟失太多。

希望這有幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM