Как связать поток System.out и продублировать его в StringBuffer в java?

У меня есть сторонние банки, интегрированные с log4j.

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

Только пока эта команда выполняется графическим интерфейсом, я хочу привязаться к потоку system.out и сохранить всю информацию журнала в строковом буфере, к концу этого процесса я хотел бы отправить этот строковый буфер обратно в графический интерфейс.

Есть ли способ привязать во время выполнения к System.out и включить и отключить его?


person USer22999299    schedule 01.08.2015    source источник
comment
Вы имеете в виду, что хотите записать все, что было зарегистрировано с помощью log4j, в поток System.out, или вы хотите заменить поток System.out, чтобы получить сгенерированный вывод? Если это первый, то я думаю, что мой ответ не тот, который вы ищете...   -  person Tom    schedule 01.08.2015
comment
@Tom Я хотел бы использовать текущую конфигурацию log4j и всякий раз, когда я хочу захватить журналы, включить вышеуказанный запрос и каким-то образом привязать к выходным данным и получить StringBuffer захваченных журналов, а также иметь возможность отключить его, когда когда-либо я хочу   -  person USer22999299    schedule 01.08.2015
comment
О, хорошо, тогда мой ответ неверен для этой цели. Очень плохо. Может кто-то еще знает, как это сделать :).   -  person Tom    schedule 01.08.2015
comment
после быстрого поиска нашел быстрое решение здесь stackoverflow.com/a/6103091/1161594   -  person USer22999299    schedule 01.08.2015