logging hibernate-parameter-Werte mit logback und slf4j
Ich benutze hibernate, spring mvc und eclipse. In meinem eclipse-Konsole, die den hibernate-sql-displays in form von:
Hibernate: insert into some_table (fieldname1, fieldname2, fieldname3, fieldname4)
values (?, ?, ?, ?)
Wie bekomme ich die Konsole zum drucken der Werte, die eingefügt werden in die Stelle der Fragezeichen? Ich bin verpflichtet, mit slf4j und logback für die Protokollierung in meinem app.
Hier ist meine 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>
- Warum haben Sie
additivity="false"
in der logback config? - versuchen Sie es und finden Sie heraus
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die korrekte Arbeitsweise die Antwort stellte sich heraus:
additivity="false"
?<logger name="org.hibernate.type" level="TRACE" />
auch. Aber seien Sie vorsichtig, wenn Sie blobs. Es ist die Protokollierung Tonnen Anzahl Sequenzen (String-Darstellung der Blob-Typ ist array von decimal-zahlen), die sprengen deine log-Datei.Konfigurieren
org.hibernate.type.descriptor.sql.BasicBinder
Paket-Protokoll-TRACE-level:Dies ist einige info über die 2 angebotenen Antworten. Beide arbeiteten für mich.
Für den Druck der Abfrage, die Sie wollen:
Drucken "ziemlich" können Sie die
jpaProperties.put("hibernate.format_sql", true|false);
Mehr info [https://docs.jboss.org/hibernate/stable/core.old/reference/en/html/configuration-optional.html%5D
Nun in Bezug auf die Werte.
Die angenommen:
Die Ausgabe wäre:
Und die anderen angebotenen Lösung
Die Ausgabe wäre:
Persönlich mag ich die 2. da ist weniger info (Vermeidung der o.h.t.descriptor.sql.BasicExtractor), aber seine bis zu das Projekt.
Hoffe es gibt ein wenig mehr info über das, was.