Skip to content

Commit 0996b8a

Browse files
authored
Add documentation for SLF4J support (#598)
1 parent 8f8a08e commit 0996b8a

File tree

4 files changed

+124
-1
lines changed

4 files changed

+124
-1
lines changed

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ rootProject.apply {
192192

193193
fun replaceVersionInDocs(ver: String) {
194194
ant.withGroovyBuilder {
195-
"replaceregexp"("match" to """("org.seasar.doma:doma-(core|kotlin|processor)?:)[^"]*(")""",
195+
"replaceregexp"("match" to """("org.seasar.doma:doma-(core|kotlin|processor|slf4j)?:)[^"]*(")""",
196196
"replace" to "\\1${ver}\\3",
197197
"encoding" to encoding,
198198
"flags" to "g") {

docs/config.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@ These dialect are located in the ``org.seasar.doma.jdbc.dialect`` package.
7272

7373
Required item
7474

75+
.. _config-logger:
76+
7577
Logger
7678
------
7779

docs/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ User Documentation
5858
annotation-processing
5959
lombok-support
6060
kotlin-support
61+
slf4j-support
6162

6263
About Doma
6364
==========

docs/slf4j-support.rst

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
=============
2+
SLF4J support
3+
=============
4+
5+
.. contents::
6+
:depth: 3
7+
8+
Overview
9+
========
10+
11+
Doma uses java util logging as underling logging framework,
12+
but you can replace it with `SLF4J <http://www.slf4j.org/>`_ easily.
13+
14+
Gradle
15+
======
16+
17+
Doma provides the doma-slf4j artifact to adapt SLF4J.
18+
19+
.. code-block:: xml
20+
21+
dependencies {
22+
implementation("org.seasar.doma:doma-slf4j:2.42.0")
23+
// Use an arbitrary SLF4J binding
24+
implementation("ch.qos.logback:logback-classic:1.2.3")
25+
}
26+
27+
Configuration
28+
=============
29+
30+
Return a ``org.seasar.doma.jdbc.Slf4jJdbcLogger`` instance from
31+
the ``getJdbcLogger`` method of the ``org.seasar.doma.jdbc.Config`` implementation class.
32+
33+
See also :ref:`Logger<config-logger>`.
34+
35+
Loggers
36+
=======
37+
38+
doma-slf4j provides several loggers as follows:
39+
40+
* org.seasar.doma.jdbc.LogKind.DAO
41+
* org.seasar.doma.jdbc.LogKind.FAILURE
42+
* org.seasar.doma.jdbc.LogKind.LOCAL_TRANSACTION
43+
* org.seasar.doma.jdbc.LogKind.SKIP.STATE_UNCHANGED
44+
* org.seasar.doma.jdbc.LogKind.SKIP.BATCH_TARGET_NONEXISTENT
45+
* org.seasar.doma.jdbc.LogKind.SQL.BATCH_DELETE
46+
* org.seasar.doma.jdbc.LogKind.SQL.BATCH_INSERT
47+
* org.seasar.doma.jdbc.LogKind.SQL.BATCH_UPDATE
48+
* org.seasar.doma.jdbc.LogKind.SQL.DELETE
49+
* org.seasar.doma.jdbc.LogKind.SQL.FUNCTION
50+
* org.seasar.doma.jdbc.LogKind.SQL.INSERT
51+
* org.seasar.doma.jdbc.LogKind.SQL.PROCEDURE
52+
* org.seasar.doma.jdbc.LogKind.SQL.SCRIPT
53+
* org.seasar.doma.jdbc.LogKind.SQL.SELECT
54+
* org.seasar.doma.jdbc.LogKind.SQL.SQL_PROCESSOR
55+
* org.seasar.doma.jdbc.LogKind.SQL.UPDATE
56+
57+
See `source code <https://github.com/domaframework/doma/blob/master/doma-slf4j/src/main/java/org/seasar/doma/jdbc/Slf4jJdbcLogger.java>`_
58+
for more information. It's simple.
59+
60+
Examples
61+
========
62+
63+
Below, we show you `logback <http://logback.qos.ch/>`_ configurations.
64+
65+
Log all
66+
-------
67+
68+
.. code-block:: xml
69+
70+
<configuration>
71+
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
72+
<encoder>
73+
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
74+
</encoder>
75+
</appender>
76+
77+
<logger name="org.seasar.doma.jdbc.LogKind" level="debug"/>
78+
79+
<root level="info">
80+
<appender-ref ref="STDOUT" />
81+
</root>
82+
</configuration>
83+
84+
Log all SQL statements
85+
----------------------
86+
87+
.. code-block:: xml
88+
89+
<configuration>
90+
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
91+
<encoder>
92+
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
93+
</encoder>
94+
</appender>
95+
96+
<logger name="org.seasar.doma.jdbc.LogKind.SQL" level="debug"/>
97+
98+
<root level="info">
99+
<appender-ref ref="STDOUT" />
100+
</root>
101+
</configuration>
102+
103+
Log only SELECT statements
104+
--------------------------
105+
106+
.. code-block:: xml
107+
108+
<configuration>
109+
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
110+
<encoder>
111+
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
112+
</encoder>
113+
</appender>
114+
115+
<logger name="org.seasar.doma.jdbc.LogKind.SQL.SELECT" level="debug"/>
116+
117+
<root level="info">
118+
<appender-ref ref="STDOUT" />
119+
</root>
120+
</configuration>

0 commit comments

Comments
 (0)