๋ชฉ์ฐจ

mybatis log4j ์ฟผ๋ฆฌ ๋ก๊ทธ ์ ๋ ฌ ๋ฐ ๊ธฐํ ๐
mybatis์ log4j๋ฅผ ์ฒ์ ์ฌ์ฉํ ๋๋ ์๋์ฒ๋ผ ์ฟผ๋ฆฌ๊ฐ ์ผ๋ ฌ๋ก ๋์ค๊ณ parameter๊ฐ์ด "?"๋ก ํ์๋๋ค.

์งง์ ์ฟผ๋ฆฌ๋ฉด ์๊ด ์์ง๋ง ๊ธด ์ฟผ๋ฆฌ์ ๊ฒฝ์ฐ์๋ Parameters๋ก ๋์จ ๊ฐ์ ?์ ๋ณต๋ถ์ ํด์ ์ฟผ๋ฆฌ๋ฅผ ์คํํด ๋ด์ผ ๋๋ค.
์๊ฐ๋ ์๊ฐ์ด๊ณ ๊ฐ๋ ์ฑ๋ ์์ข์์ ๊ฐ๋ฐ์์๋ ์ฌ๊ฐ ๋ถํธํ๊ฒ ์๋๋ค.
๊ทธ๋์ log4jdbc๋ฅผ ์ด์ฉํด์ ์ฟผ๋ฆฌ๋ฅผ ๋ณด๊ธฐ ์ข๊ฒ ์ ๋ ฌ/์ ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๊ธฐ๋กํ๋ค.
log4jdbc ์์กด์ฑ ์ถ๊ฐ ๐ค
maven ๊ธฐ์ค pom.xml์ ์์กด์ฑ ์ถ๊ฐ
<dependency>
<groupId>org.bgee.log4jdbc-log4j2</groupId>
<artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
<version>1.16</version> <!-- version์ ๋์ค์ ๋ค๋ฅธ ๊ฑธ๋ก ํ๊ฒ ๋ ์๋ ์์ -->
</dependency>
gradle ๊ธฐ์ค build.gradle์ ์์กด์ฑ ์ถ๊ฐ
// ์ฌ๊ธฐ์ ์ถ๊ฐ
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.2'
implementation 'org.springframework.boot:spring-boot-devtools'
// ์ด ๊ฒ ์ถ๊ฐ(๋ฒ์ ์ ๋ฐ๋ก ๋ช
์ํ์ง ์์๋ starter์์ ์ต์ ํ ๋ฒ์ ์ ๊ฐ์ง๊ณ ์ด)
implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
testCompileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
application.properties์ jdbc ์ ์์ ๋ณด url, driver class name ๋ณ๊ฒฝ ๐
# ๊ธฐ์กด์ jdbc:mysql์ jdbc:log4jdbc:mysql ๋ก ์์ํ๋ url ๋ก ๋ณ๊ฒฝ(jdbc:"์ด ์ฌ์ด์ log4jdbc ์ถ๊ฐ๋จ":mysql)
#url: jdbc:mysql://localhost:3306/test
url: jdbc:log4jdbc:mysql://localhost:3306/test
username: test
password: 1234
# ๊ธฐ์กด์ com.mysql.jdbc.Driver๋ฅผ net.sf.log4jdbc.sql.jdbcapi.DriverSpy ๋ก ๋ณ๊ฒฝ
#driver-class-name: com.mysql.jdbc.Driver
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
application.yml์ ๊ฒฝ์ฐ ์๋์ฒ๋ผ url, driver class name ๋ณ๊ฒฝ ๐
spring:
datasource:
# url: jdbc:h2:tcp://localhost/~/devlsy-service1;MODE=mySQL
# ์๋์ฒ๋ผ ๋ณ๊ฒฝ(์๋๋ h2 ๋ฉ๋ชจ๋ฆฌ DB ์ฌ์ฉํ ๊ฒฝ์ฐ)
url: jdbc:log4jdbc:h2:tcp://localhost/~/devlsy-service1;MODE=mySQL
username: sa
password:
# driver-class-name: org.h2.Driver
# ๋๋ผ์ด๋ฒ๋ช
์๋์ฒ๋ผ ๋ณ๊ฒฝ
driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
mybatis:
mapper-locations: mybatis-mapper/**/*.xml
logback.xml ์์ (์ด๊ฑด ๋ด ๊ฒฝ์ฐ์ด๊ณ , ๋ค๋ฅธ ๊ฑธ ์ฌ์ฉํ ์ logger ์ค์ ํ๋ ๊ณณ ์์ )๐
<logger name="jdbc" level="OFF"/>
<!-- sqlonly ๋ ๋ฒจ ์์ -->
<logger name="jdbc.sqlonly" level="DEBUG"/>
<logger name="jdbc.sqltiming" level="DEBUG"/>
<logger name="jdbc.audit" level="OFF"/>
<logger name="jdbc.resultset" level="OFF"/>
<!-- ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ํ
์ด๋ธ ํ์์ผ๋ก ๋ณผ๋ ค๋ฉด resultsettable ๋ ๋ฒจ ์์ -->
<logger name="jdbc.resultsettable" level="DEBUG"/>
<logger name="jdbc.connection" level="OFF"/>
log4jdbc.log4j2.properties ์ถ๊ฐ ๐
src/main/resources๊ฒฝ๋ก์ log4jdbc.log4j2.properties ์ถ๊ฐ ํ ์๋ ๋ด์ฉ ์ ๋ ฅ

log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
log4jdbc.dump.sql.maxlinelength=0
์ ์ฉ ๊ฒฐ๊ณผ ๐

์ฐธ์กฐ : http://jmlim.github.io/spring/2018/12/26/spring-boot-logback-sql-pretty/
์คํ๋ง ๋ถํธ(Spring boot) ๋ง์ด๋ฐํฐ์ค(Mybatis) ์์ ์ฟผ๋ฆฌ ๋ก๊ทธ ์ถ๋ ฅ ๋ฐ ์ ๋ ฌํ๊ธฐ. · ๊ธฐ์ตํ๊ธฐ ์ํ ๊ฐ
์คํ๋ง ๋ถํธ(Spring boot) ๋ง์ด๋ฐํฐ์ค(Mybatis) ์์ ์ฟผ๋ฆฌ ๋ก๊ทธ ์ถ๋ ฅ ๋ฐ ์ ๋ ฌํ๊ธฐ. 26 Dec 2018 | Spring Logback SQL ์ ๋ ฌ SQL pretty MyBatis ๋ง์ด๋ฐํฐ์ค (์ด ๋ด์ฉ์ Spring boot์ logback(๊ธฐ๋ณธ๋ก๊ทธ์ค์ )์ ์ฌ์ฉํ๋ฉฐ mybati
jmlim.github.io

'IT > development' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [jQuery]radio/checkbox ์ฒดํฌ ์ฌ๋ถ ํ์ธ (0) | 2022.11.19 |
|---|---|
| [IDE/SVN]eclipse svn branch ์์ฑ (0) | 2022.11.19 |
| [springBoot] ํ์ด์ง๋ค์ด์ ์ฒ๋ฆฌ(feat. MariaDB) (0) | 2022.11.19 |
| [mybatis] map์ list๋ก ๋ฐ์์ ํ๋ฉด์ ๊ทธ๋ฆฌ๊ธฐ (0) | 2022.11.19 |
| [IDE]dbeaver ํ๊ธ ๊นจ์ง ์กฐ์น (0) | 2022.11.18 |
๋๊ธ