MariaDB JDBC客户端日志记录

时间:2014-05-12 12:46:47

标签: java logging jdbc mariadb

有没有办法使用MariaDB jdbc驱动程序在java 中记录查询

使用MySQL驱动程序,我正在使用

profileSQL=true
logger=com.mysql.jdbc.log.Slf4JLogger

在dev机器上记录查询(使调试变得更容易)。

我意识到存在log4jdbc之类的东西 - 我是否需要使用这样的库,或者mariadb驱动程序是否内置了某些内容?

3 个答案:

答案 0 :(得分:1)

如Per Lundberg所言,从1.5.0版开始可以进行日志记录,请参见here

要激活它,我在数据库URL中添加了&log=true。但是,这还不够。如here所述,还需要执行以下步骤:

首先,我们需要添加一些依赖项:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>[1.4.0,1.7.25]</version>
</dependency>
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.2.3</version>
</dependency>

然后,我们需要像给定示例中那样配置logback:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <logger name="org.mariadb.jdbc" level="trace" additivity="false">
        <appender-ref ref="STDOUT"/>
    </logger>

    <root level="error">
        <appender-ref ref="STDOUT"/>
    </root>

</configuration>

“跟踪”日志级别提供了大量信息,因此您可能要使用另一个信息。当前支持的日志级别为:跟踪,调试,信息,警告或错误

答案 1 :(得分:0)

目前无法从mariadb java客户端登录sql查询。

您可以看到以下链接: https://mariadb.com/kb/en/mariadb/client-libraries/mariadb-java-client/about-the-mariadb-java-client/

然而另一种方法是,如果可以提供帮助,可以使用 dumpQueriesOnException

答案 2 :(得分:0)

从1.5.0开始,log is supported