【发布时间】:2018-02-24 13:57:34
【问题描述】:
我目前正在使用带有 logback-classic-1.2.3 的 Sl4j 1.7.25
tomcat的类路径即WEB-INF/classes里面的logback.xml如下:
<?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 日志目录下的 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 文件中添加了一个记录器配置,现在日志进入文件 foodini.log 和 hikari.log...现在我需要将 hikari 日志从 foodini.log 文件中放入
【问题讨论】: