lundi 24 janvier 2011

Hibernate: valeur des paramètres et log




Toujours galère de d'analyser les logs d'une appli utilisant Hibernate car les requêtes sont paramétrées (heureusement) et les paramètres ne sont pas directement accessible (on voit des '?' en lieu et place des valeurs dans les clause where).



Pour y remédier, rien de plus simple, il faut activer les loggers d'Hibernate qui journalisent ces informations. Donc dans log4j.properties (ou sa version XML), placer la directive suivante:




log4j.category.org.hibernate.type.descriptor.sql=TRACE



Cela permettra de trouver dans les logs les messages suivants pour chaque requête paramétrée envoyée par Hibernate:






4000 [main] TRACE org.hibernate.type.descriptor.sql.BasicBinder  - binding parameter [1] as [BIGINT] - 1295864313859


4000 [main] TRACE org.hibernate.type.descriptor.sql.BasicBinder  - binding parameter [2] as [TIMESTAMP] - Mon Jan 24 11:18:33 CET 2011


4000 [main] TRACE org.hibernate.type.descriptor.sql.BasicBinder  - binding parameter [3] as [BIGINT] - 1295864313843


Aucun commentaire: