Как мне писать логи и отображать их в реальном времени в приложении Java Swing? - PullRequest
1 голос
/ 31 мая 2011

Я создал программу с графическим интерфейсом, которая использует класс для выполнения некоторых задач.

Я хотел бы добавить регистрацию как в JFrame, так и в классе.Журналы должны храниться в файле и одновременно отображаться в формате JTextArea.

Какое удобное решение для этого?

Ответы [ 3 ]

6 голосов
/ 31 мая 2011

Создайте оболочку, которая

  1. обновляет ваши журналы JTextArea
  2. через log4j , SLF4J или Apache Commons Logging или другая структура ведения журнала
public void log(String msg) {
      appendToJTextArea(msg);
      LOG.info(msg);
 }
3 голосов
/ 31 мая 2011

Я предлагаю использовать простой вызов System.out.println(), а затем запустить ваше приложение следующим образом:

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

, который создаст для вас текстовую панель (параметр -debug), а также поместит их вфайл журнала для вас.

0 голосов
/ 31 мая 2011

Один из способов легко войти в файл - использовать FileWriter:
http://download.oracle.com/javase/1.4.2/docs/api/java/io/FileWriter.html

Кроме того, когда вы регистрируете данные, вы всегда можете обновить текст JTextArea с помощью JTextArea.append ():
http://download.oracle.com/javase/1.4.2/docs/api/javax/swing/JTextArea.html

Если вы входите в файл, могу ли я предложить войти в несколько файлов с временными метками?Это гарантирует, что вы сохраняете данные и не потеряете слишком много в случае сбоя программы.

Надеюсь, это помогло!

...