Java项目中,配置打印 JDBC 日志的几种方法

17 篇文章 0 订阅
9 篇文章 0 订阅

在 IDEA 项目中,如果你想打印 JDBC 日志,可以通过配置日志框架(如 Logback 或 Log4j)来实现。Spring Boot 使用的默认日志框架是 Logback,你可以通过在 application.yml 文件中配置日志级别来打印 JDBC 日志。

方法 1: 使用 application.yml 配置 JDBC 日志

logging:
  level:
    # 显示 SQL 语句
    com.zaxxer.hikari: DEBUG  # HikariCP 数据库连接池
    org.hibernate.SQL: DEBUG  # Hibernate 的 SQL 日志
    org.springframework.jdbc.core.JdbcTemplate: DEBUG  # Spring JDBC Template 的 SQL 日志
    org.apache.ibatis.logging: DEBUG  # MyBatis 日志
    # 显示 SQL 参数
    org.hibernate.type: TRACE  # 打印 Hibernate 的 SQL 参数

方法 2: 配置 logback.xml 文件(Logback 配置)

你还可以在 src/main/resources 目录下创建 logback.xml 文件,配置更加详细的 JDBC 日志输出。以下是一个例子:

<configuration>
    <!-- 设置日志输出级别 -->
    <logger name="com.zaxxer.hikari" level="DEBUG" />
    <logger name="org.hibernate.SQL" level="DEBUG" />
    <logger name="org.springframework.jdbc.core.JdbcTemplate" level="DEBUG" />
    <logger name="org.apache.ibatis.logging" level="DEBUG" />

    <!-- 打印 SQL 参数 -->
    <logger name="org.hibernate.type" level="TRACE" />

    <!-- 配置日志的输出形式 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- 根日志输出 -->
    <root level="INFO">
        <appender-ref ref="STDOUT" />
    </root>
</configuration>

方法 3: 配置 log4j2.xml 文件(Log4j2 配置)

如果你的项目使用 Log4j2 作为日志框架,也可以通过配置 log4j2.xml 文件来打印 JDBC 日志。以下是一个简单的 log4j2.xml 配置文件示例:

<Configuration status="WARN">
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5level %logger{36} - %msg%n"/>
        </Console>
    </Appenders>

    <Loggers>
        <!-- JDBC 日志 -->
        <Logger name="com.zaxxer.hikari" level="debug" additivity="false">
            <AppenderRef ref="Console"/>
        </Logger>
        <Logger name="org.hibernate.SQL" level="debug" additivity="false">
            <AppenderRef ref="Console"/>
        </Logger>
        <Logger name="org.springframework.jdbc.core.JdbcTemplate" level="debug" additivity="false">
            <AppenderRef ref="Console"/>
        </Logger>
        <Logger name="org.apache.ibatis.logging" level="debug" additivity="false">
            <AppenderRef ref="Console"/>
        </Logger>

        <!-- 打印 SQL 参数 -->
        <Logger name="org.hibernate.type" level="trace" additivity="false">
            <AppenderRef ref="Console"/>
        </Logger>

        <!-- 根日志输出 -->
        <Root level="info">
            <AppenderRef ref="Console"/>
        </Root>
    </Loggers>
</Configuration>

方法 4: 使用 MyBatis 配置 SQL 日志

如果你使用的是 MyBatis,可以在 mybatis-config.xml 中配置日志:

<configuration>
    <settings>
        <!-- 启用 MyBatis 内部日志 -->
        <setting name="logImpl" value="STDOUT_LOGGING" />
    </settings>
</configuration>

通过以上方法,你可以在 IDEA 项目中打印 JDBC 的 SQL 日志和参数,有助于调试 SQL 语句。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值