개요
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
SQL
복사
•
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>
SQL
복사
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>
SQL
복사