log4jdbc資料庫訪問日誌框架使用

2021-09-23 20:06:44 字數 2764 閱讀 1068

當前最新版本是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配置...