如何编写日志并在Java Swing应用程序中实时显示它们?

时间:2011-05-31 15:45:42

标签: java swing logging

我创建了一个使用类来执行某些任务的GUI程序。

我想在JFrame和类中添加日志记录。日志应保存在文件中,并同时显示在JTextArea中。

对此有什么方便的解决方案?

3 个答案:

答案 0 :(得分:6)

创建一个

的包装器
  1. 更新您的JTextArea
  2. 通过log4jSLF4JApache Commons Logging或其他日志记录框架进行日志记录
  3. public void log(String msg) {
          appendToJTextArea(msg);
          LOG.info(msg);
     }
    

答案 1 :(得分:3)

我建议使用简单的System.out.println()调用,然后像这样运行您的应用程序:

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

这将为您创建一个文本窗格(-debug参数),并将它们放在一个日志文件中。

答案 2 :(得分:0)

您可以轻松登录文件的方法之一是使用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

如果您正在登录某个文件,我是否可以建议您记录多个带时间戳的文件?这可以确保您保存数据,并且在程序崩溃时不会损失太多。

希望这有帮助!