![](/img/trans.png)
[英]How can I read and write a process in real time and display output in JTextArea in real time? (Java Swing)
[英]How do I write logs and display them real-time in a Java Swing application?
我創建了一個 GUI 程序,它使用 class 來執行一些任務。
我想在JFrame
和 class 中添加日志記錄。 日志應保存在文件中並同時顯示在JTextArea
中。
對此有什么方便的解決方案?
創建一個包裝器
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.