log4jdbc記錄全部SQL日誌
log4jdbc 是工作在jdbc層的一個日誌框架,能夠記錄SQL及資料庫連線執行資訊。
一般的SQL日誌會把具體的引數值用?代替,有時候很不方便,log4jdbc則會記錄資料庫執行的完整SQL字串,在資料庫應用開發除錯階段非常有用。
•支援現有大部分JDBC驅動。
•易於配置(在大部分情況下,只需要改變驅動類名並在jdbc url前加上”jdbc:log4“,設定好日誌輸出級別)。
•能夠自動把SQL變數值加到SQL輸出日誌中,改進易讀性和方便除錯。
•能夠快速標識出應用程式中執行比較慢的SQL語句。
•能夠生成SQL連線數資訊幫助識別連線池/執行緒問題。
只需操作一下三步即可顯示全部SQL日誌
1.匯入相關JAR包
選擇日誌包,版本自己選擇
log4j-1.2.15.jar (下載地址:http://www.apache.org/dist/logging/log4j/)
slf4j-api-1.6.1.jar(下載地址:http://www.slf4j.org/dist/)(比如下載slf4j-1.6.1.zip)
選擇slf4j-log4j包的版本是根據上面選擇的log4j和slf4j包的版本
slf4j-log4j12-1.6.1.jar 此jar包在slf4j專案包下(下載slf4j專案包解壓,比如slf4j-1.6.1.zip)
根據自己的JDK版本選擇log4jdbc Jar包
log4jdbc4-1.2.jar(log4jdbc 1.2 jar for JDBC 4 (JDK 1.6 and 1.7))或者log4jdbc3-1.2beta2.jar (for JDBC 3 (JDK 1.4 and 1.5))
此jar包下載地址http://code.google.com/p/log4jdbc/downloads/list
2.配置log4j.properites,具體配置根據專案自己定義
#記錄系統執行過的sql語句
#log4j.additivity.jdbc.sqlonly=true
log4j.logger.jdbc.sqlonly=DEBUG,console
#控制檯輸出
log4j.appender.console=org.apache.log4j.ConsoleAppender
#控制檯輸出格式定義
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %m%n%n
#記錄sql執行的時間,可以分析耗時的sql語句
#log4j.additivity.jdbc.sqltiming=true
#log4j.logger.jdbc.sqltiming=INFO,console
#記錄除了ResultSet外的所有JDBC呼叫情況。一般不需要。
#log4j.additivity.jdbc.audidt=true
#log4j.logger.jdbc.audit=INFO,console
#記錄返回結果集資訊
#log4j.additivity.jdbc.resultset=true
#log4j.logger.jdbc.resultset=INFO,console
#記錄資料庫連線和釋放資訊,可記錄當前的資料庫連線數,便於診斷連線是否釋放
#log4j.additivity.jdbc.connection=true
#log4j.logger.jdbc.connection=INFO,console
3.修改連線驅動和連線url
比如:
jdbc.driver=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@localhost:1521:orcl
改為:
jdbc.driver=net.sf.log4jdbc.DriverSpy
jdbc.url=jdbc:log4jdbc:oracle:thin:@localhost:1521:orcl
一般的SQL日誌會把具體的引數值用?代替,有時候很不方便,log4jdbc則會記錄資料庫執行的完整SQL字串,在資料庫應用開發除錯階段非常有用。
log4jdbc具有以下特性:
•支援現有大部分JDBC驅動。
•易於配置(在大部分情況下,只需要改變驅動類名並在jdbc url前加上”jdbc:log4“,設定好日誌輸出級別)。
•能夠自動把SQL變數值加到SQL輸出日誌中,改進易讀性和方便除錯。
•能夠快速標識出應用程式中執行比較慢的SQL語句。
•能夠生成SQL連線數資訊幫助識別連線池/執行緒問題。
只需操作一下三步即可顯示全部SQL日誌
1.匯入相關JAR包
選擇日誌包,版本自己選擇
log4j-1.2.15.jar (下載地址:http://www.apache.org/dist/logging/log4j/)
slf4j-api-1.6.1.jar(下載地址:http://www.slf4j.org/dist/)(比如下載slf4j-1.6.1.zip)
選擇slf4j-log4j包的版本是根據上面選擇的log4j和slf4j包的版本
slf4j-log4j12-1.6.1.jar 此jar包在slf4j專案包下(下載slf4j專案包解壓,比如slf4j-1.6.1.zip)
根據自己的JDK版本選擇log4jdbc Jar包
log4jdbc4-1.2.jar(log4jdbc 1.2 jar for JDBC 4 (JDK 1.6 and 1.7))或者log4jdbc3-1.2beta2.jar (for JDBC 3 (JDK 1.4 and 1.5))
此jar包下載地址http://code.google.com/p/log4jdbc/downloads/list
2.配置log4j.properites,具體配置根據專案自己定義
#記錄系統執行過的sql語句
#log4j.additivity.jdbc.sqlonly=true
log4j.logger.jdbc.sqlonly=DEBUG,console
#控制檯輸出
log4j.appender.console=org.apache.log4j.ConsoleAppender
#控制檯輸出格式定義
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %m%n%n
#記錄sql執行的時間,可以分析耗時的sql語句
#log4j.additivity.jdbc.sqltiming=true
#log4j.logger.jdbc.sqltiming=INFO,console
#記錄除了ResultSet外的所有JDBC呼叫情況。一般不需要。
#log4j.additivity.jdbc.audidt=true
#log4j.logger.jdbc.audit=INFO,console
#記錄返回結果集資訊
#log4j.additivity.jdbc.resultset=true
#log4j.logger.jdbc.resultset=INFO,console
#記錄資料庫連線和釋放資訊,可記錄當前的資料庫連線數,便於診斷連線是否釋放
#log4j.additivity.jdbc.connection=true
#log4j.logger.jdbc.connection=INFO,console
3.修改連線驅動和連線url
比如:
jdbc.driver=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@localhost:1521:orcl
改為:
jdbc.driver=net.sf.log4jdbc.DriverSpy
jdbc.url=jdbc:log4jdbc:oracle:thin:@localhost:1521:orcl
完成以上三步,重新啟動伺服器就OK了,你就可以看到sql全部語句了。
轉載:http://blog.csdn.net/dcx903170332/article/details/17020425
相關文章
- Laravel sql 日誌記錄LaravelSQL
- 記錄 sql 查詢日誌SQL
- php日誌,記錄日誌PHP
- laravel5.7 不記錄 sql 報錯日誌,自定義日誌資訊LaravelSQL
- 日誌記錄器
- log4jdbc資料庫訪問日誌框架使用JDBC資料庫框架
- secureCRT記錄操作日誌Securecrt
- 記錄日誌檔案
- PHP日誌記錄方法PHP
- oracle日誌操作記錄Oracle
- 日誌記錄 PHP下往linux目錄下寫日誌PHPLinux
- Oracle補充日誌及日誌記錄規則Oracle
- db2不記錄日誌插入記錄DB2
- 記錄騰訊雲使用日誌
- 記錄 | 實習日誌 9
- mysql開啟日誌記錄MySql
- SecureCRT自動記錄日誌Securecrt
- Appfuse:記錄操作日誌APP
- storm 問題日誌記錄ORM
- 第11章 日誌記錄
- monolog 日誌記錄器解析Mono
- iptables防火牆如何記錄日誌防火牆
- 使用Redis記錄系統日誌Redis
- log4net日誌記錄
- 使用Rsyslog記錄Apache日誌Apache
- secureCRT自動記錄log日誌Securecrt
- 使用 .NET Core 的日誌記錄
- Python多程式記錄日誌Python
- 駭客攻擊日誌記錄(轉)
- Rust 實現日誌記錄功能Rust
- Laravel 指定日誌檔案記錄任意日誌Laravel
- 操作日誌記錄(包括輸出至自定義日誌檔案)
- NAS中如何檢視日誌記錄?
- python日誌記錄器的配置Python
- 如何優雅地記錄操作日誌?
- 日誌記錄模組logging
- django 專案日誌記錄設定Django
- 如何優雅地記錄操作日誌