繁体   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