la journalisation hibernate valeurs de paramètre à l'aide de logback et slf4j
J'utilise hibernate, spring mvc, et eclipse. Dans mon eclipse console, hibernate, sql s'affiche dans le formulaire de:
Hibernate: insert into some_table (fieldname1, fieldname2, fieldname3, fieldname4)
values (?, ?, ?, ?)
Comment puis-je obtenir la console pour imprimer les valeurs qui sont insérés à la place des points d'interrogation? Je suis déterminé à l'aide de slf4j et logback pour l'enregistrement de mon application.
Voici mon logback.xml:
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="30 seconds">
<contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
<resetJUL>true</resetJUL>
</contextListener>
<!-- To enable JMX Management -->
<jmxConfigurator/>
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%-5level %logger{0} - %msg%n</pattern>
</encoder>
</appender>
<!--<logger name="org.hibernate" level="debug"/> -->
<logger name="mypackagename.myappname" level="debug"/>
<logger name="org.hibernate.SQL" additivity="false" level="DEBUG" />
<logger name="org.hibernate.type" additivity="false" level="TRACE" />
<root level="info">
<appender-ref ref="console"/>
</root>
</configuration>
Pourquoi avez-vous
essayez-le et découvrez
additivity="false"
dans le logback config?essayez-le et découvrez
OriginalL'auteur CodeMed | 2014-08-26
Vous devez vous connecter pour publier un commentaire.
Le bon fonctionnement de réponse s'est avéré être:
additivity="false"
?<nom de l'enregistreur="org.mise en veille prolongée.tapez" level="TRACE" />--> - je parie que l' --> est redondant
J'aime
<logger name="org.hibernate.type" level="TRACE" />
, trop. Mais attention, lorsque vous avez des gouttes. C'est la journalisation des tonnes de séquences de nombres (représentation sous forme de Chaîne de type Blob est tableau de nombres décimaux) qui soufflent jusqu'à votre fichier de log.OriginalL'auteur CodeMed
Configurer
org.hibernate.type.descriptor.sql.BasicBinder
package pour enregistrer le niveau de TRACE:avez-vous d'autres suggestions?
Cette réponse + retrait de l'additivité=false la propriété a fait l'affaire pour moi.
OriginalL'auteur Andrey M
Ce n'est quelques infos sur la 2 offert des réponses. Les deux ont travaillé pour moi.
Pour l'impression de la requête que vous souhaitez:
Que l'impression qu'il est "joli", vous pouvez utiliser le
jpaProperties.put("hibernate.format_sql", true|false);
Plus d'infos dans [https://docs.jboss.org/hibernate/stable/core.old/reference/en/html/configuration-optional.html%5D
Maintenant en ce qui concerne les valeurs.
L'acceptés:
La sortie serait:
Et l'autre solution proposée
La sortie serait:
Personnellement, j'aime bien la 2ème, car il est moins d'infos (en évitant l'o.h.t.descripteur.sql.BasicExtractor), mais sa place dans le projet.
Espère que cela donne un peu plus d'infos sur les éléments à inclure.
OriginalL'auteur cesaregb