Недавно я обновил log4j, что заставило меня изменить уровень XML. И я сделал, как показано ниже.
<?xml version="1.0" encoding="UTF-8" ?>
<Configuration status="warn">
<Appenders>
<!-- An appender for the console -->
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %-5p [%t] %m%n%ex"/>
</Console>
</Appenders>
<Loggers>
<Root level="fatal">
<AppenderRef ref="console"/>
</Root>
</Loggers>
</Configuration>
Но после изменения формата как log4j2 данные не печатаются, как ожидалось, например «2019-07-26 17:53:28,261», вместо этого они отображаются как «% d».
%d DEBUG [main] new Test
%d DEBUG [main] new Test1
%d DEBUG [main] new Test2
Мне не хватает какой-либо конфигурации?
1 ответ
Нашел проблему. Фактическая проблема заключается в том, что изменения в Log4j2.xml (src/main/resources/log4j2.xml) не отражаются в сгенерированном файле (target/classes/log4j2.xml), в котором неправильный шаблон даты "%%d ".
Похожие вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.
pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} whatever else you need..."
d{pattern}
.If, no date format specifier is given then ISO8601 format is assumed.
. и в моем случае это %d%d
сам по себе работает на меня, как указано в документе. Например2020-04-08 11:54:08,197
. Так что это говорит о том, что происходит что-то еще.