Перенаправление stdout log4j на InputStream - PullRequest
1 голос
/ 05 декабря 2011

Система, над которой я работаю, использует библиотеку, которая печатает свои результаты, используя log4j. Я не знаком со способностями log4j, поэтому не знаю, как получить результаты. Библиотека использует файл конфигурации, который можно изменить, чтобы я мог управлять выводом. Что я хочу сделать, это захватить вывод в потоке, не записывая его на ФС. Я попытался перенаправить System.out, но это закончилось перенаправлением System.out класса вызывающего абонента, а не log4j.

1 Ответ

2 голосов
/ 05 декабря 2011

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

Теперь, похоже, вы хотите записать в свой собственный OutputStream, что означает, что вам все равно потребуется программный доступ к объекту. Тогда я бы сказал, что вам нужно написать свой собственный аппендир, который на самом деле довольно прост. Вот введите описание ссылки здесь учебник, хотя, вероятно, есть множество (более коротких), в зависимости от того, что вам нужно

...