Blog

Dropwizard+Hibernate で発行したSQLをログに出力する

DBIx::QueryLog のように、発行したSQLを直接みたいな、と思ったりしたわけですが、それは以下のように行えばよいようだ。

database.properties に hibernate.properties に書く内容を書いて hibernate の設定を行うのが dropwizard 流。

database:
  driverClass: com.mysql.jdbc.Driver
  user: root
  password: 
  url: jdbc:mysql://localhost:3306/mattn
  properties:
    charSet: UTF-8
    hibernate.dialect: org.hibernate.dialect.MySQLDialect
    hibernate.show_sql: true # ←
logging:
  level: INFO
  loggers:
    io.dropwizard: INFO
    org.hibernate.SQL: DEBUG # ←
    org.hibernate.type: TRACE # ←
  appenders:
    - type: console

DBIx::QueryLog みたいに、特定のスコープでだけログ出力を出せるようになってると良さそうだけど、どうやるのかよくわからないな。