如何设置 HikariCP 的日志记录级别?

Posted

技术标签:

【中文标题】如何设置 HikariCP 的日志记录级别?【英文标题】:How do I set the logging level for HikariCP? 【发布时间】:2016-05-04 18:24:25 【问题描述】:

目前,HikariCP 的日志级别为 INFO,我想将其设置为 SEVERE。当我尝试在父记录器上设置级别(我能找到的唯一对记录的引用)时,它会引发错误:

dataSource.getParentLogger().setLevel( Level.SEVERE );

错误:

Caused by: java.sql.SQLFeatureNotSupportedException
    at com.zaxxer.hikari.HikariDataSource.getParentLogger(HikariDataSource.java:176)

如何正确设置日志记录级别?

【问题讨论】:

【参考方案1】:

HikariCP 在后台使用 slf4j。您必须在实际记录器实现中设置日志级别(logbacklog4jJUL、...)。

另外,slf4j 提供了一个非常简单的记录器实现slf4j-simple。只需将依赖项添加到您的 pom

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>1.7.5</version>
</dependency>

然后您可以使用system properties 对其进行配置,例如

java -Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=error ...

【讨论】:

【参考方案2】:

另一种以编程方式设置日志级别的方法

import org.slf4j.LoggerFactory;
import ch.qos.logback.classic.Level;

ch.qos.logback.classic.Logger hikariLogger = (ch.qos.logback.classic.Logger) LoggerFactory.getLogger("com.zaxxer.hikari");
hikariLogger.setLevel(Level.ERROR);

【讨论】:

【参考方案3】:

如果有,请从类路径或 lib 目录中删除这些 jar。

logback-classic.jar logback-core.jar

【讨论】:

以上是关于如何设置 HikariCP 的日志记录级别?的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot:如何使用 application.properties 设置日志记录级别?

如何在 Tomcat 中将级别日志记录设置为 DEBUG?

XCGLogger - 如何设置所有日志的日志级别

如何设置扭曲的日志级别?

RabbitMQ 通过记日志来看routingkey

RabbitMQ 通过记日志来看routingkey