문서유형ㅣ기술정보
분야ㅣ인터페이스/연동
문서번호ㅣTIITI015
개요
log4jdbc는 JDBC를 통한 SQL 실행 내용을 로깅할 수 있는 도구입니다.
Tibero는 기본적으로 log4jdbc에서 드라이버 클래스 이름을 지원하지 않으므로, log4jdbc.drivers 옵션을 사용해 드라이버 이름을 직접 설정해야 합니다.
참고본 문서의 설정 예시는 JEUS(Web Application Server) 환경을 기준으로 작성되었습니다.
방법
log4jdbc 지원 데이터베이스
log4jdbc가 기본 지원하는 데이터베이스 드라이버 클래스는 다음과 같습니다.
Driver Class | Database Type |
|---|---|
oracle.jdbc.driver.OracleDriver | Older Oracle Driver |
oracle.jdbc.OracleDriver | Newer Oracle Driver |
com.sybase.jdbc2.jdbc.SybDriver | Sybase |
net.sourceforge.jtds.jdbc.Driver | jTDS SQL Server & Sybase driver |
com.microsoft.jdbc.sqlserver.SQLServerDriver | Microsoft SQL Server 2000 driver |
com.microsoft.sqlserver.jdbc.SQLServerDriver | Microsoft SQL Server 2005 driver |
weblogic.jdbc.sqlserver.SQLServerDriver | Weblogic SQL Server driver |
com.informix.jdbc.IfxDriver | Informix |
org.apache.derby.jdbc.ClientDriver | Apache Derby client/server driver, aka the Java DB |
org.apache.derby.jdbc.EmbeddedDriver | Apache Derby embedded driver, aka the Java DB |
com.mysql.jdbc.Driver | MySQL |
org.postgresql.Driver | PostgresSQL |
org.hsqldb.jdbcDriver | HSQLDB pure Java database |
org.h2.Driver | H2 pure Java database |
Tibero는 위 목록에 포함되어 있지 않으므로 다음과 같이 드라이버를 지정해야 합니다.
-Dlog4jdbc.drivers=com.tmax.tibero.jdbc.TbDriver -Dlog4jdbc.auto.load.popular.drivers=false
- log4jdbc.drivers : Tibero JDBC 드라이버 지정
- log4jdbc.auto.load.popular.drivers : 기본 JDBC 클래스 로딩 비활성화(옵션)
JEUS 환경 설정 예시
engine-container 설정
<engine-container>
<name>container1</name>
<command-option>-Xms256m -Xmx512m -XX:MaxPermSize=128m -Xss256k
Djava.awt.headless=true -Djeus.jdbc.sql.log.level=FINE
-verbose:gc -Xloggc:/logs/jeus6008/gc/con1.gc
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC
-Dlog4jdbc.drivers=com.tmax.tibero.jdbc.TbDriver
</command-option>
URL 및 DriverClassName 설정 예시 (JEUSMain.xml)
<database>
<vendor>others</vendor>
<export-name>datasource</export-name>
<data-source-class-name>
jeus.jdbc.driver.blackbox.BlackboxConnectionPoolDataSource
</data-source-class-name>
<data-source-type>ConnectionPoolDataSource</data-source-type>
<user>tibero</user>
<password>tmax</password>
<property>
<name>URL</name>
<type>java.lang.String</type>
<value>jdbc:log4jdbc:tibero:thin:@127.0.0.1:8629:tibero</value>
</property>
<property>
<name>DriverClassName</name>
<type>java.lang.String</type>
<value>net.sf.log4jdbc.DriverSpy</value>
</property>
<connection-pool>
<pooling>
<min>10</min>
<max>40</max>
<step>5</step>
<period>300000</period>
</pooling>
<wait-free-connection>
<enable-wait>true</enable-wait>
<wait-time>10000</wait-time>
</wait-free-connection>
<check-query>SELECT 1 FROM dual</check-query>
<check-query-period>300000</check-query-period>
</connection-pool>
</database>