當前最新版本是1.2, 支援jdbc3, jdbc4
log4jdbc是在jdbc層的乙個日誌框架,可以將佔位符與引數全部合併在一起顯示,方便直接拷貝sql在資料庫客戶端執行
未使用log4jdbc記錄的sql:
select count(*) from region where id=?
使用 log4jdbc記錄的sql:
select count(*) from region where id='gz'
全面支援jdbc 3和jdbc 4!
容易配置,在大多數情況下,你需要做的是改變驅動類名net.sf.log4jdbc.driverspy的,並在前面加上「為jdbc:log4jdbc」到你現有的jdbc url,建立你的日誌記錄類別。
示例:jdbc:log4jdbc:mysql:
自動sql輸出。這大大提高了許多情況下的可讀性和除錯。
可以列印sql的執行時間,用來除錯sql的執行效率。
生成sql連線數資訊,以幫助識別連線池或執行緒問題。
底層的jdbc驅動程式的相容,使用jdk 1.4以上和slf4j 1.x
logger 描述
jdbc.sqlonly 僅記錄sql。
jdbc.sqltiming 計時統計sql的執行用時。
jdbc.audit 記錄所有的jdbc呼叫(resultset的除外)。log量非常大,會影響效能,建議關閉。
一般情況下不需要開這個設定,除非追蹤乙個特定的jdbc問題。
jdbc.resultset 比audit量更大,包括resultset物件,記錄所有的jdbc記錄。建議關閉
jdbc.connection 記錄開啟和關閉連線以及開啟的連線數。用於追蹤連線洩漏問題,非常有用。
1: 在log4j配置檔案中增加對應的logger
2: 改變驅動類名,
如mysql的:jdbc:log4jdbc:mysql:
如derby的:jdbc:log4jdbc:derby://localhost:1527
<?xml version="1.0" encoding="utf-8"?>
doctype log4j:configuration system
"log4j.dtd">
""debug="false">
"org.apache.log4j.patternlayout">
"conversionpattern" value="%d %p [%c:%l] - %m%n" />
"org.apache.log4j.varia.levelrangefilter">
"levelmin" value="info" />
"file" value="$/logs/sql.log"/>
"maxbackupindex" value="20"/>
"maxfilesize" value="20mb"/>
"org.apache.log4j.patternlayout">
"conversionpattern" value="%d %p [%c:%l] - %m%n"/>
"file" value="$/logs/sqltiming.log"/>
"maxbackupindex" value="20"/>
"maxfilesize" value="20mb"/>
"org.apache.log4j.patternlayout">
"conversionpattern" value="%d %p [%c:%l] - %m%n"/>
"file" value="$/logs/jdbc.log"/>
"maxbackupindex" value="20"/>
"maxfilesize" value="20mb"/>
"org.apache.log4j.patternlayout">
"conversionpattern" value="%d %p [%c:%l] - %m%n"/>
"file" value="$/logs/connection.log"/>
"maxbackupindex" value="20"/>
"maxfilesize" value="20mb"/>
"org.apache.log4j.patternlayout">
"conversionpattern" value="%d %p [%c:%l] - %m%n"/>
"jdbc.sqlonly" additivity="false">
"debug"/>
"jdbc.sqltiming" additivity="false">
"fatal"/>
"jdbc.audit" additivity="false">
"fatal"/>
"jdbc.resultset" additivity="false">
"fatal"/>
"jdbc.connection" additivity="false">
"fatal"/>
"log4jdbc.debug" additivity="false">
"debug"/>
"info" />
ref="console" />
public
class demo
}
log4jdbc記錄全部SQL日誌
log4jdbc 是工作在jdbc層的乙個日誌框架,能夠記錄sql及資料庫連線執行資訊。一般的sql日誌會把具體的引數值用?代替,有時候很不方便,log4jdbc則會記錄資料庫執行的完整sql字串,在資料庫應用開發除錯階段非常有用。log4jdbc具有以下特性 支援jdbc3和jdbc4。支援現有大...
log4jdbc列印sql資訊
2 將應用中的driver class設定為net.sf.log4jdbc.driverspy 對於常用的jdbc驅動無需其他設定,比如oracle驅動oracle.jdbc.driver.oracledriver也已經在預設設定中了,若預設驅動列表中不包括你的應用系統中需要的驅動,那需要通過 dl...
log4jdbc列印完整SQL
一 log4jdbc簡單介紹 log4jdbc是工作在jdbc層的乙個日誌框架,能夠記錄sql及資料庫連線執行資訊。一般的sql日誌會把佔位符和引數值分開列印,log4jdbc則會記錄資料庫執行的完整sql字串,在資料庫應用開發除錯階段非常有用。log4jdbc具有以下特性 二 log4jdbc配置...