Hazırda Bekletme İpucu: SQL ifadeleri ve bunların parametreleri nasıl kaydedilir?

Portakalkafa

Global Mod
Global Mod


  1. Hazırda Bekletme İpucu: SQL ifadeleri ve bunların parametreleri nasıl kaydedilir?

Hazırda Bekletme İpuçları serisi, yaygın Hazırda Bekletme sorularına hızlı ve kolay çözümler sunar. Başlangıç noktası, yürütülen veritabanı sorgularının ve bunların parametrelerinin günlüğe kaydedilmesi için doğru yapılandırmadır.


rica etmek


Çalıştırdığı SQL sorgularını kullandığı sorgularla eşleştirmek için Hazırda Bekletmeyi nasıl yapılandırabilirim? bağlantıparametreler kaydedildi mi?

Çözüm


Hazırda bekletme, yürütülen SQL sorgularını ve bunların sorgularını sınıflandırmak için iki farklı kategori ve düzey kullanır. bağlantı-Kaydedilecek parametreler:

  • SQL sorguları şu şekilde kaydedilir: HATA AYIKLAMA-Kategoride yeni org.hibernate.sql kayıtlı.
  • Kullanılmış olanlar bağlantı-Parametreler ise kategoridedir. org.hibernate.type.descriptor.sql ve seviye İZ günlük dosyasına yazılır.
Bu ayırma, birbirinden bağımsız olarak sorguların ve parametrelerin günlüğe kaydedilmesini tetiklemeyi ve böylece günlük çıktısını mevcut ihtiyaçlara uyarlamayı mümkün kılar.

Örnek bir log4j yapılandırmasının aşağıdaki parçacığı, SQL sorguları ve bunların parametreleri için günlüğe kaydetmeyi etkinleştirir.


log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%c] - %m%n
log4j.rootLogger=info, stdout
# basic log level for all messages
log4j.logger.org.hibernate=info

# SQL statements and parameters
log4j.logger.org.hibernate.SQL=debug
log4j.logger.org.hibernate.type.descriptor.sql=trace


Hibernate daha sonra çalıştırdığı her veritabanı sorgusu için bir dizi günlük mesajı yazar.

17:34:50,353 DEBUG [org.hibernate.SQL] - select author0_.id as id1_0_, author0_.firstName as firstNam2_0_, author0_.lastName as lastName3_0_, author0_.version as version4_0_ from Author author0_ where author0_.id=1
17:34:50,362 TRACE [org.hibernate.type.descriptor.sql.BasicExtractor] - extracted value ([id1_0_] : [BIGINT]) - [1]
17:34:50,373 TRACE [org.hibernate.type.descriptor.sql.BasicExtractor] - extracted value ([firstNam2_0_] : [VARCHAR]) - [Joshua]
17:34:50,373 TRACE [org.hibernate.type.descriptor.sql.BasicExtractor] - extracted value ([lastName3_0_] : [VARCHAR]) - [Bloch]
17:34:50,374 TRACE [org.hibernate.type.descriptor.sql.BasicExtractor] - extracted value ([version4_0_] : [INTEGER]) - [0]
Kayıt hakkında daha fazla bilgi edinin


Hibernate ile günlüğe kaydetme hakkında daha fazla bilgi ve bir geliştirme ve üretim yapılandırması için önerilerim “HibernateLogging Kılavuzu – Geliştirme ve üretim için doğru yapılandırmayı kullanın” makalesinde bulunabilir.

Hazırda Bekletme İpuçları: Kitap


“Hibernate Tips: 70+ Solutions to Common Hibernate Problems” adlı kitabım, basit ve karmaşık eşleme tanımları, günlüğe kaydetme, Java 8 desteği, önbelleğe alma ve statik sorgular ve dinamikler oluşturma gibi konularda 70’den fazla tarif içeriyor. Amazon’da basılı ve e-kitap biçiminde ve hibernate-tips.com adresinde PDF biçiminde mevcuttur.


()



Haberin Sonu
 
Üst