Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

JDBC का उपयोग करते समय SQL कथनों के लिए लॉगिंग कैसे सक्षम करें

2019 अपडेट:2015 से log4jdbc का रखरखाव नहीं किया गया है। p6spy अभी भी सक्रिय रूप से बनाए रखा जा रहा है।

मूल उत्तर

इस उद्देश्य के लिए बहुत सारे स्पाई फ्रेमवर्क उपलब्ध हैं, कृपया log4jdbc देखें, मैं गिर गया यह वही है जिसे आप ढूंढ रहे हैं।

सुविधाएं

  • JDBC 3 और JDBC 4 के लिए पूर्ण समर्थन!
  • कॉन्फ़िगर करने में आसान, ज्यादातर मामलों में आपको बस ड्राइवर वर्ग का नाम tonet.sf.log4jdbc.DriverSpy बदलना है और अपने मौजूदाjdbc url में "jdbc:log4" को प्रीपेन्ड करना है, अपनी लॉगिंग श्रेणियां सेट करें और आप इसके लिए तैयार हैं जाओ!
  • लॉग किए गए आउटपुट में, तैयार किए गए कथनों के लिए, बाइंड तर्कों को स्वचालित रूप से SQL आउटपुट में डाला जाता है। यह कई मामलों के लिए पठनीयता और डिबगिंग में बहुत सुधार करता है।
  • एसक्यूएल समय की जानकारी यह पहचानने में मदद करने के लिए उत्पन्न की जा सकती है कि एसक्यूएल स्टेटमेंट्स को चलाने में कितना समय लगता है, जो बहुत धीमी गति से चलने वाले स्टेटमेंट की पहचान करने में मदद करता है और इस डेटा को एक शामिल टूल के साथ पोस्ट किया जा सकता है ताकि प्रोफाइलिंग रिपोर्ट डेटा तैयार किया जा सके ताकि आपके में धीमी एसक्यूएल की शीघ्र पहचान हो सके। आवेदन।
  • एसक्यूएल कनेक्शन नंबर की जानकारी कनेक्शन पूलिंग या थ्रेडिंग समस्याओं की पहचान करने में मदद करने के लिए उत्पन्न होती है। JDK 1.4 और इसके बाद के संस्करण, और SLF4J 1.x के साथ किसी भी अंतर्निहित JDBC ड्राइवर के साथ काम करता है।
  • ओपन सोर्स सॉफ्टवेयर, व्यापार अनुकूल अपाचे 2.0 लाइसेंस के तहत लाइसेंस प्राप्त है

उपयोग

  • log4jdbc जार (JDK संस्करण के आधार पर) को अपने एप्लिकेशन के क्लासपाथ में रखें।
  • उपयोग करने के लिए लॉगिंग सिस्टम चुनें, log4j, लॉगबैक, कॉमन्स लॉगिंग..आदि समर्थित हैं
  • अपने एप्लिकेशन के कॉन्फ़िगरेशन में अपने JDBC ड्राइवर वर्ग को net.sf.log4jdbc.DriverSpy पर सेट करें। कई मामलों में जिस अंतर्निहित ड्राइवर की जासूसी की जा रही है, वह बिना किसी अतिरिक्त कॉन्फ़िगरेशन के स्वचालित रूप से लोड हो जाएगा।
  • jdbc:log4 को उस सामान्य jdbc url में जोड़ें जिसका आप उपयोग कर रहे हैं।

    उदाहरण के लिए, यदि आपका सामान्य jdbc url isjdbc:derby://localhost:1527//db-derby-10.2.2.0-bin/databases/MyDatabase तब आप इसे बदल देंगे:jdbc:log4jdbc:derby://localhost:1527/ /db-derby-10.2.2.2.0-bin/databases/MyDatabase

  • अपने लॉगर सेट करें।

    jdbc.sqlonly :केवल SQL लॉग करता है। तैयार किए गए कथन के भीतर निष्पादित SQL स्वचालित रूप से बहुत अधिक पठनीयता के लिए, उस स्थिति पर बाध्य डेटा के साथ बदले गए इसके बाइंड तर्कों के साथ दिखाया जाता है। 1.0

    jdbc.sqltimeing :SQL को निष्पादन के बाद, SQL को निष्पादित करने में कितना समय लगा, इस पर समय के आंकड़ों सहित, लॉग करता है। 1.0

    jdbc.audit :ResultSet को छोड़कर सभी JDBC कॉल्स को लॉग करता है। यह एक बहुत बड़ा आउटपुट है, और जब तक किसी विशिष्ट JDBC समस्या को ट्रैक नहीं किया जाता है, तब तक इसकी सामान्य रूप से आवश्यकता नहीं होती है। 1.0

    jdbc.resultset :और भी अधिक विशाल, क्योंकि ResultSet ऑब्जेक्ट के लिए सभी कॉल लॉग होते हैं। 1.0

    jdbc.connection :लॉग कनेक्शन खुले और बंद ईवेंट के साथ-साथ सभी खुले कनेक्शन नंबरों को डंप करना। यह कनेक्शन लीक की समस्या का पता लगाने के लिए बहुत उपयोगी है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ओआरए-01097

  2. Oracle 11 डेटाबेस से कैसे कनेक्ट करें . जाल

  3. Oracle ट्रिगर हटाने के बाद... म्यूटेटिंग टेबल (ORA-04091) से कैसे बचें?

  4. oracle11g . में पैरामीटरयुक्त दृश्य बनाना

  5. Oracle में अल्पविराम से अलग सूची के रूप में वापसी क्वेरी परिणाम