Как я могу установить шаблон преобразования log4j во время выполнения

StackOverflow https://stackoverflow.com/questions/1403797

  •  05-07-2019
  •  | 
  •  

Вопрос

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

Так что-то вроде log4j.appender.stdout.layout.ConversionPattern =% d {гггг-мм-дд ЧЧ: мм: сс}% m% n

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

        if(parseDebug){

            // SET CONVERSION PATTERN HERE

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

        }
Это было полезно?

Решение

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top