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
- laravel5.7 不記錄 sql 報錯日誌,自定義日誌資訊LaravelSQL
- 日誌記錄器
- ThinkPHP日誌記錄PHP
- 【Spring】日誌列印sql,日誌配置列印sqlSpringSQL
- 日誌記錄模組logging
- monolog 日誌記錄器解析Mono
- 記錄騰訊雲使用日誌
- log4net日誌記錄
- SpringBoot記錄HTTP請求日誌Spring BootHTTP
- Rust 實現日誌記錄功能Rust
- .NET Core使用Nlog記錄日誌
- NetCore的全域性日誌記錄NetCore
- python日誌記錄器的配置Python
- iptables防火牆如何記錄日誌防火牆
- Laravel 指定日誌檔案記錄任意日誌Laravel
- 操作日誌記錄(包括輸出至自定義日誌檔案)
- 日誌記錄模式(LOGGING 、FORCE LOGGING 、NOLOGGING)模式
- Cmocka 單元測試日誌記錄Mock
- LoggerMessageAttribute 高效能的日誌記錄
- NAS中如何檢視日誌記錄?
- django 專案日誌記錄設定Django
- LightDB不記錄WAL日誌的表
- Python:使用logging模組記錄日誌Python
- 如何優雅地記錄操作日誌
- 如何優雅的記錄操作日誌?
- 如何優雅地記錄操作日誌?
- 基於.NetCore3.1系列 —— 日誌記錄之自定義日誌元件NetCore元件
- Django筆記三十之log日誌記錄詳解Django筆記
- [翻譯] 除錯 Rxjs(二):日誌記錄除錯JS
- springboot使用logback記錄日誌,配置檔案Spring Boot
- 禁用 Logback 中特定類的日誌記錄
- 一種簡化操作日誌記錄方案
- Swoft AOP 記錄使用者操作日誌
- Gin 框架 - 使用 logrus 進行日誌記錄框架
- 微服務體系操作日誌如何記錄?微服務
- mysql 開啟和關閉日誌記錄MySql
- [python] Python日誌記錄庫loguru使用指北Python
- 【Rust】使用日誌記錄利器flexi_loggerRustFlex