Log4j ни как не хочет писать trace
Log4j ни как не хочет писать trace. Я уже использую их API для настроек логов:
ConfigurationBuilder< BuiltConfiguration > builder = ConfigurationBuilderFactory.newConfigurationBuilder();
builder.setStatusLevel( org.apache.logging.log4j.Level.ALL);
builder.setConfigurationName("RollingBuilder");
// create a console appender
AppenderComponentBuilder appenderBuilder = builder.newAppender("Stdout", "CONSOLE").addAttribute("target",
ConsoleAppender.Target.SYSTEM_OUT);
appenderBuilder.add(builder.newLayout("PatternLayout")
.addAttribute("pattern", "%d [%t] %-5level: %msg%n%throwable"));
builder.add( appenderBuilder );
// create the new logger
builder.add( builder.newLogger( "TestLogger", org.apache.logging.log4j.Level.ALL )
.add( builder.newAppenderRef( "rolling" ) )
.addAttribute( "additivity", false ) );
builder.add( builder.newRootLogger( org.apache.logging.log4j.Level.ALL )
.add( builder.newAppenderRef( "rolling" ) ) );
LoggerContext ctx = Configurator.initialize(builder.build());
logger.debug("----------------------------------------------------------------------------");
logger.trace("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
и все равно пишется только debug. Что не так? Вот мой помник, взят с сайта slf4j:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.10</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.28</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.28</version>
</dependency>
Ответы (2 шт):
Автор решения: alex
→ Ссылка
получилось добиться появления trace в логах с помощью такой штуки:
ch.qos.logback.classic.Logger rootLogger =
(ch.qos.logback.classic.Logger)LoggerFactory.
getLogger(ch.qos.logback.classic.Logger.ROOT_LOGGER_NAME);
rootLogger.setLevel(ch.qos.logback.classic.Level.TRACE);
решение так себе, но другого пока что найти не смог
Автор решения: Roman Konoval
→ Ссылка
Проблема в том, что у вас добавлено две реализации логирования: log4j и logback. При этом slf4j выбрал из них одну.
Если хотите использовать именно log4j, то уберите из pom зависимость на logback.