Перенаправление из system.out.println в заметку - PullRequest
0 голосов
/ 12 февраля 2011

У меня есть внутренняя логика в приложении, которая отображает результаты и время обработки определенных задач, но теперь я начал разрабатывать свой пользовательский интерфейс, и мне нужно показать эти результаты в заметке (я использую ZK Framework).Но логика находится во внутреннем классе ... так как я могу изменить этот класс, чтобы перенаправить выводимую информацию в заметку вместо консоли?

Thx

Ответы [ 2 ]

3 голосов
/ 12 февраля 2011

Было бы лучше использовать каркас ведения журнала или собственный интерфейс средства создания отчетов, который сначала был реализован с помощью System.out.println(), а теперь мог бы быть заменен другой реализацией.

Но теперь самым простым способом было бы установить System.out на System.setOut(). Необходимый PrintStream может быть создан на любом File или лучше OutputStream.

Но чтобы заполнить диаграмму модели ZK, вам нужно проанализировать напечатанные данные до System.out. Это звучит как плохая идея. Попробуйте сначала выполнить рефакторинг приложения (консоли).

1 голос
/ 12 февраля 2011

используйте System.setOut() и system.setErr(). Передайте туда ByteArrayOutpuStream, завернутый в PrintStream. Затем извлеките байты.

...