Как я могу установить шаблон преобразования log4j во время выполнения - PullRequest
4 голосов
/ 10 сентября 2009

У меня есть приложение Java, в то время как анализирует ввод из электронной таблицы. Я добавил возможность запуска только отдельной части парсера из задачи муравья. Однако обычный шаблон log4j, который я использую, может затруднить чтение выходных данных. Я хотел бы установить простой шаблон во время выполнения.

Так что-то вроде log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %m%n

        parseDebug = new Boolean(System.getProperty("ptpunit.parseDebug")).booleanValue();

        if(parseDebug){

            // SET CONVERSION PATTERN HERE

            log.setLevel((Level) Level.DEBUG);

        }

1 Ответ

8 голосов
/ 10 сентября 2009

Я думаю, вы могли бы сделать что-то вроде этого:

ConsoleAppender a = (ConsoleAppender) Logger.getRootLogger().getAppender("stdout");
a.setLayout(new PatternLayout("%d{HH:mm:ss}  %-5.5p  %t %m%n"));

Конечно, вы должны изменить тип Appender в соответствии с тем, который вы используете, и вам, возможно, придется заменить «Logger.getRootLogger ()» на вызов для извлечения регистратора, к которому фактически присоединен ваш appender.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...