J2EE 使用p6spy查看JAVA程式中執行的SQL,TOMCAT配置

來源:互聯網
上載者:User

今天調整一個老版本系統,由於是幾年前的架構,瞭解比較詳細的人已經比較少,調試有點困難,一個許可權管理系統中像關聯的表比較多,而所有代碼已經打成了jar包,找不到源碼,沒法查看其中SQL語句,但是確定原因應該就是資料錯誤造成,需要找到模組對應的資料庫表以及關係才能查出問題。

上網搜了一下可以使用p6spy在控制台或記錄檔中輸出程式執行的SQL資訊,而且對於目前簡單的需求配置非常簡單。

1.上網下載一個p6spyinstall.jar,解壓縮後能找到spy.properties與p6spy.jar兩個檔案。

對於tomcat5.5的版本

將spy.properties 放在{TomcatHome}/common/classes 檔案夾
將p6spy.jar is 放在 {TomcatHome}/common/lib 檔案夾

對於tomcat6的版本將兩個檔案都放在{TomcatHome}/lib 檔案夾下

2.修改程式中定義資料來源或資料庫連接的位置:更改其中使用的<driverName />一般oracle應該如下:

<driverName>oracle.jdbc.driver.OracleDriver</driverName>

修改為:

<driverName>com.p6spy.engine.spy.P6SpyDriver</driverName>

3.修改spy.properties檔案中的配置:

修改為realdriver=oracle.jdbc.driver.OracleDriver

以下部分前面不帶井號的為有效:

#specifies the appender to use for logging
#appender=com.p6spy.engine.logging.appender.Log4jLogger //使用log4j輸出sql
appender=com.p6spy.engine.logging.appender.StdoutLogger //使用控制台輸出
#appender=com.p6spy.engine.logging.appender.FileLogger //輸出到記錄檔,另外有一個配置具體的輸出檔案的名字預設是spy.log

 

修改完後,重新啟動應用,就可以看到所有執行的SQL了,更詳細的配置可以參考:

http://wenku.baidu.com/view/b68719126edb6f1aff001fb0.html

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.