SLF4J support¶
Contents
Overview¶
Doma uses java util logging as underling logging framework, but you can replace it with SLF4J easily.
Gradle¶
Doma provides the doma-slf4j artifact to adapt SLF4J.
dependencies {
implementation("org.seasar.doma:doma-slf4j:2.54.0")
// Use an arbitrary SLF4J binding
runtimeOnly("ch.qos.logback:logback-classic:1.2.3")
}
Configuration¶
Return a org.seasar.doma.slf4j.Slf4jJdbcLogger
instance from
the getJdbcLogger
method of the org.seasar.doma.jdbc.Config
implementation class.
See also Logger.
Loggers¶
doma-slf4j provides several loggers as follows:
- org.seasar.doma.jdbc.LogKind.DAO
- org.seasar.doma.jdbc.LogKind.FAILURE
- org.seasar.doma.jdbc.LogKind.LOCAL_TRANSACTION
- org.seasar.doma.jdbc.LogKind.SKIP.STATE_UNCHANGED
- org.seasar.doma.jdbc.LogKind.SKIP.BATCH_TARGET_NONEXISTENT
- org.seasar.doma.jdbc.LogKind.SQL.BATCH_DELETE
- org.seasar.doma.jdbc.LogKind.SQL.BATCH_INSERT
- org.seasar.doma.jdbc.LogKind.SQL.BATCH_UPDATE
- org.seasar.doma.jdbc.LogKind.SQL.DELETE
- org.seasar.doma.jdbc.LogKind.SQL.FUNCTION
- org.seasar.doma.jdbc.LogKind.SQL.INSERT
- org.seasar.doma.jdbc.LogKind.SQL.PROCEDURE
- org.seasar.doma.jdbc.LogKind.SQL.SCRIPT
- org.seasar.doma.jdbc.LogKind.SQL.SELECT
- org.seasar.doma.jdbc.LogKind.SQL.SQL_PROCESSOR
- org.seasar.doma.jdbc.LogKind.SQL.UPDATE
See source code for more information. It’s simple.
Examples¶
Below, we show you logback configurations.
Log all¶
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<logger name="org.seasar.doma.jdbc.LogKind" level="debug"/>
<root level="info">
<appender-ref ref="STDOUT" />
</root>
</configuration>
Log all SQL statements¶
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<logger name="org.seasar.doma.jdbc.LogKind.SQL" level="debug"/>
<root level="info">
<appender-ref ref="STDOUT" />
</root>
</configuration>
Log only SELECT statements¶
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<logger name="org.seasar.doma.jdbc.LogKind.SQL.SELECT" level="debug"/>
<root level="info">
<appender-ref ref="STDOUT" />
</root>
</configuration>