2009-09-10 4 views
4

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

Так что-то вроде 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); 

     } 

ответ

8

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

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

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

Смежные вопросы