我目前正在使用带有logback-classic-1.2.3的Sl4j 1.7.25
将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>
这很好用,所有内容都记录在tomcat logs目录下的foodini.log文件中。
现在不幸的是,HikariCp也会以大约30秒的间隔记录到同一个文件。它基本上写了池事件和泄漏等等。我需要在一个单独的文件中说hikari.log,而不是在foodini.log中,这应该只是我的webapp的日志,以避免混乱。
我试过了:
<?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中
对于我使用的任何一个servlet:
private static final Logger LOG = LoggerFactory.getLogger(ServeletName.class);
获取记录器并且工作正常。
编辑:在logback文件中添加了一个logger配置,现在登录到foodini.log和hikari.log这两个文件......现在我需要在foodini.log文件中输入hikari日志
答案 0 :(得分:1)
对于任何感兴趣的人,我创建的配置logback.xml几乎是正确的,只缺少一件事,那就是logger元素上的additivity属性。如果没有设置为false,hikari日志将转到两个文件而不是专门转到hikari.log文件,继续更新和工作配置示例以获取两个不同的日志文件,一个在tomcat webapp之前,一个用于hikari配置,池和错误日志
<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" level="ALL" additivity="false">
<appender-ref ref="HIKARI" />
</logger>
<root level="ALL">
<appender-ref ref="FILE" />
</root>