๐ ์ง๋ ํฌ์คํ ์์ ํ์คํ๋ ์์ํฌ ๋ด๋ถ์ ๋ฌด ์์คํ ํ๋ก์ ํธ๋ฅผ ์คํํด ๋ณด์์ต๋๋ค.
์คํ์ ๋ก๊ทธ๋ฅผ ์ดํด๋ณด๋ฉด ์คํ๋๋ SQL์ ํ๋ผ๋ฏธํฐ ๋ถ๋ถ์ด ? ๋ก ํ์ถ๋์ด ์์๋ณด๊ธฐ ์ด๋ ค์ ์ต๋๋ค.
SQL๋ก๊ทธ๋ฅผ ์กฐ๊ธ ๋ ๋ณด๊ธฐ์ข๊ฒ ํ์ถํ๊ธฐ ์ํด log4jdbc-log4j2 ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ log4j2 ์ค์ ์ ๋ณ๊ฒฝํด๋ณด๊ฒ ์ต๋๋ค.๐
์ฐธ๊ณ ) ํ์คํ๋ ์์ํฌ ๋ด๋ถ์ ๋ฌด ์์คํ
2025.02.13 - [JAVA] - ํ์คํ๋ ์์ํฌ ๋ด๋ถ์ ๋ฌด ์์คํ ํ ํ๋ฆฟ ํ๋ก์ ํธ ์คํ
ํ์คํ๋ ์์ํฌ ๋ด๋ถ์ ๋ฌด ์์คํ ํ ํ๋ฆฟ ํ๋ก์ ํธ ์คํ
๐ ํ์คํ๋ ์์ํฌ์์ ์ ๊ณตํ๋ ๊ณตํต์ปดํฌ๋ํธ์ ๊ธฐ๋ฅ๋ค ์ค ์ผ๋ถ๋ฅผ ์ฌ์ฉํ ๋ด๋ถ์ ๋ฌด ์์คํ ํ ํ๋ฆฟ์ ์ฌ์ฉํด ํ๋ก์ ํธ๋ฅผ ์คํํด๋ณด๊ฒ ์ต๋๋ค.๐ โ ๋ฉ์ธ ํ์ด์ง, ์ ๋ฌด์ฌ์ฉ์ ๊ด๋ฆฌ, ๊ณต์ง์ฌํญ
haribogumi.tistory.com
log4j2 ๊ด๋ จ ์ค์
- pom.xml ์ถ๊ฐ
<dependency>
<groupId>org.bgee.log4jdbc-log4j2</groupId>
<artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
<version>1.16</version>
</dependency>
- log4jdbc.log4j2.properties ์์ฑ
log4j2.xmlํ์ผ๊ณผ ๊ฐ์ ์์น์ properties ํ์ผ ์์ฑ
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
- globals.properties ์์
DriverClassName ๋ณ๊ฒฝ
Url์ jdbc: ๋ค์ log4jdbc ์ถ๊ฐ
DriverClassName = net.sf.log4jdbc.sql.jdbcapi.DriverSpy
Url = jdbc:log4jdbc:postgresql://127.0.0.1:5432/egovbustmp
- log4j2.xml ์์
ํ์์ ๋ฐ๋ผ log ๋ ๋ฒจ ์์
<?xml version="1.0" encoding="UTF-8"?>
<!-- FATAL > ERROR > WARN > INFO > DEBUG > TRACE -->
<!DOCTYPE xml>
<Configuration>
<Appenders>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %5p [%c] %m%n" />
</Console>
</Appenders>
<Loggers>
<Logger name="java.sql" level="INFO" additivity="false">
<AppenderRef ref="console" />
</Logger>
<Logger name="egovframework" level="DEBUG" additivity="false">
<AppenderRef ref="console" />
</Logger>
<Logger name="org.egovframe" level="DEBUG" additivity="false">
<AppenderRef ref="console" />
</Logger>
<Logger name="org.springframework" level="INFO" additivity="false">
<AppenderRef ref="console" />
</Logger>
<!-- log SQL with timing information, post execution -->
<Logger name="jdbc.connection" level="WARN" additivity="false">
<AppenderRef ref="console"/>
</Logger>
<Logger name="jdbc.sqltiming" level="ERROR" additivity="false">
<AppenderRef ref="console" />
</Logger>
<Logger name="jdbc.sqlonly" level="DEBUG" additivity="false">
<AppenderRef ref="console"/>
</Logger>
<Logger name="jdbc.resultset" level="WARN" additivity="false">
<AppenderRef ref="console"/>
</Logger>
<Logger name="jdbc.resultsettable" level="INFO" additivity="false">
<AppenderRef ref="console"/>
</Logger>
<Logger name="jdbc.audit" level="WARN" additivity="false">
<AppenderRef ref="console"/>
</Logger>
<Root level="INFO">
<AppenderRef ref="console" />
</Root>
</Loggers>
</Configuration>
Logger name | ์ค๋ช |
jdbc.connection | Connection Pool ์ค์ ๊ด๋ จ ๋ก๊ทธ |
jdbc.sqltiming | SQL๋ฌธ ์คํ์ ์ํ ์๊ฐ์ ๋ณด๋ฅผ ํ์ถ |
jdbc.sqlonly | SQL ๋ฌธ์ฅ๋ง ๋ก๊ทธ, argument ๊ฐ์ผ๋ก ๋์ฒด๋ SQL๋ฌธ์ด ํ์ถ |
jdbc.resultset | SQL ์ฟผ๋ฆฌ ์คํ ๊ฒฐ๊ณผ๋ฅผ ํ์ถ |
jdbc.resultsettable | SQL ์ฟผ๋ฆฌ ์คํ ๊ฒฐ๊ณผ๋ฅผ ํ ์ด๋ธ ํํ๋ก ํ์ถ |
jdbc.audit | resultset์ ์ ์ธํ ๋ชจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ณ๊ฒฝ ๋ก๊ทธ |
์คํํ ๋ก๊ทธ๋ฅผ ํ์ธํด ๋ณด๋ ์๋์ ๊ฐ์ ํ์์ผ๋ก ํ์ถ๋๊ณ ์์ต๋๋ค.
๐งก๐๐๊ณต๊ฐ๊ณผ ๋๊ธ์ ํฌ์คํ ์ ํฐ ํ์ด๋ฉ๋๋ค๐๐๐