В настоящее время я использую Sl4j 1.7.25 с logback-classic-1.2.3.
Файл logback.xml, помещенный в путь к классу tomcat, т. е. WEB-INF/classes, выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<configuration>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>${catalina.home}/logs/foodini.log</file>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>[%d{dd-MMM-yyyy HH:mm:ss.SSS}] [%logger] [%-5level] - %msg%n</Pattern>
</encoder>
</appender>
<root level="ALL">
<appender-ref ref="FILE" />
</root>
</configuration>
Это работает нормально, и все регистрируется в файле foodini.log в каталоге журналов tomcat.
Теперь, к сожалению, HikariCp также регистрируется в тот же файл и постоянно с интервалом около 30 секунд. Он в основном пишет события пула, утечки и все такое. Мне нужно, чтобы это было в отдельном файле, скажем, hikari.log, а не в foodini.log, который предназначен для журналов только моего веб-приложения, чтобы избежать беспорядка.
Я старался :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<configuration>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>${catalina.home}/logs/foodini.log</file>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>[%d{dd-MMM-yyyy HH:mm:ss.SSS}] [%logger] [%-5level] - %msg%n</Pattern>
</encoder>
</appender>
<appender name="HIKARI" class="ch.qos.logback.core.FileAppender">
<file>${catalina.home}/logs/hikari.log</file>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>[%d{dd-MMM-yyyy HH:mm:ss.SSS}] [%logger] [%-5level] - %msg%n</Pattern>
</encoder>
</appender>
<logger name="com.zaxxer.hikari">
<appender-ref ref="HIKARI" />
</logger>
<root level="ALL">
<appender-ref ref="FILE" />
</root>
</configuration>
Он создает новый файл с именем hikari.log, но все по-прежнему регистрируется внутри foodini.log.
Для любого сервлета я использую:
private static final Logger LOG = LoggerFactory.getLogger(ServeletName.class);
чтобы получить регистратор, и он отлично работает.
РЕДАКТИРОВАТЬ: добавлена конфигурация регистратора в файл журнала, и теперь журналы идут как в файлы foodini.log, так и в hikari.log... Теперь мне нужно, чтобы журналы hikari вообще не попадали в файл foodini.log.