In meinem hibernate.cfg.xml habe ich folgendes:Wie zeigen Sie SQL-Parameter im Hibernate-Protokoll an?
<property name="show_sql">true</property>
In meinem log4j.xml, ich habe folgendes:
<logger name="org.hibernate" additivity="false">
<level value="TRACE"/>
<appender-ref ref="hbn_log"/>
</logger>
<category name="org.hibernate.SQL" additivity="false">
<priority value="TRACE"/>
<appender-ref ref="hbn_log"/>
</category>
<category name="org.hibernate.type" additivity="false">
<priority value="TRACE"/>
<appender-ref ref="hbn_log"/>
</category>
<logger name="org.hibernate.type.descriptor.sql.BasicBinder">
<level value="TRACE"/>
<appender-ref ref="hbn_log"/>
</logger>
<logger name="org.hibernate.event.def.DefaultLoadEventListener" additivity="true">
<level value="all"/>
<appender-ref ref="hbn_log"/>
</logger>
<logger name="org.hibernate.cache.ReadWriteCache" additivity="true">
<level value="all"/>
<appender-ref ref="hbn_log"/>
</logger>
<appender name="hbn_log" class="com.adventnet.management.log.NMSRollingFileAppender">
<param name="File" value="logs/hbn.txt"/>
<param name="MaxFileSize" value="1MB"/>
<param name="MaxBackupIndex" value="10"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{dd MMM yyyy HH:mm:ss:SSS}] %-5c{2}: %m%n"/>
</layout>
<param name="Threshold" value="TRACE"/>
</appender>
In meinem stdout.txt, kann ich sehen, dass Es protokolliert die SQL-Anweisung:
[13 Apr 2013 22:03:59:199] SYS_OUT: Hibernate: select this_.EMSID as EMSID195_0_, this_.COUNTER as COUNTER195_0_, this_.TIMESTAMP as TIMESTAMP195_0_, this_.UPDATETYPE as UPDATETYPE195_0_, this_.OBJECTTYPE as OBJECTTYPE195_0_, this_.OBJECTID as OBJECTID195_0_, this_.OBJECT as OBJECT195_0_ from WebNmsDB.UpdateData this_ where this_.EMSID=?
Aber ich möchte, dass es auch den Parameter für die SQL protokolliert, und es wird nicht angezeigt.
Eine andere Sache ist, dass der Appender definiert ist, um zu hbn.txt zu protokollieren, aber die SQL-Anweisung wird in stdout.txt und nicht hbn.txt protokolliert. Ich weiß nicht, warum das passiert.
Ich habe das zu meiner log4j.xml hinzugefügt und bekomme immer noch keine Parameterprotokollierung. – pacoverflow
Ich fügte auch zum Appender hinzu und es funktioniert immer noch nicht. – pacoverflow
Das funktioniert perfekt für mich: \t \t \t –