Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
OrganizationEventAdvent CalendarQiitadon (β)
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

updated at

Spring Boot で log4jdbc-log4j2 を使用してSQLを出力する

Spring Boot で log4jdbc-log4j2 を使用してSQLを出力するための手順です。開発時に実行されているSQLを確認したい時に使えると思います。

http://code.google.com/p/log4jdbc-log4j2/ を参照しました。

pom.xml に log4jdbc-log4j2-jdbc4.1 を追加します。


application.properties の設定を変更します。urlのjdbcの後に :log4jdbc を追加し、driverClassName を net.sf.log4jdbc.sql.jdbcapi.DriverSpy に変更します。

spring.datasource.url             = jdbc:mysql://localhost/world
spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.url             = jdbc:log4jdbc:mysql://localhost/world
spring.datasource.driverClassName = net.sf.log4jdbc.sql.jdbcapi.DriverSpy

/resources の下に log4jdbc.log4j2.properties を作成します。


/resources の下に logback.xml を作成します。

<?xml version="1.0" encoding="UTF-8"?>
    <include resource="org/springframework/boot/logging/logback/base.xml"/>

    <!-- log4jdbc-log4j2 -->
    <logger name="jdbc.sqlonly"        level="DEBUG"/>
    <logger name="jdbc.sqltiming"      level="INFO"/>
    <logger name="jdbc.audit"          level="INFO"/>
    <logger name="jdbc.resultset"      level="ERROR"/>
    <logger name="jdbc.resultsettable" level="ERROR"/>
    <logger name="jdbc.connection"     level="DEBUG"/>

以下の Java Configuration のクラスを作成します。

public class ApplicationConfig {

    public DataSource dataSource() {
        return DataSourceBuilder.create().build();


Spring Data JPA でも MyBatis-Spring でもSQLが出力されます。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Help us understand the problem. What are the problem?