Aktivieren Sie die Hibernate-Protokollierung
Ich versuche, ein Protokoll zu erstellen der hibernate-statements.
Ich mein sql-Anweisungen mithilfe von JPA in denen Hibernate 2.0 ist die Persistenz-provider (meine application server ist JBoss ALS 6.0).
Ich rufe meine CRUD-Methoden, die mit der EntityManager-Schnittstelle, EJB 3.0.
Ich habe viele Beiträge gelesen über die Aktivierung des hinernate Protokollierung aber eigentlich kann ich das nicht sehen, jeder log 🙁
Ich erstelle eine log4j.Eigenschaften-Datei und ich habe es in den root Ordner von meinem Netbeans-Projekt.
Ich legte auch die log4j-Bibliothek in den classpath des Projekts.
Meine log4j.Eigenschaften s die folgenden:
### direct log messages to stdout ###
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{ABSOLUTE} %5p %c{1}:%L – %m%n
log4j.rootLogger=debug, stdout
log4j.logger.org.hibernate=info
### log just the SQL
log4j.logger.org.hibernate.SQL=debug
### log JDBC bind parameters ###
log4j.logger.org.hibernate.type=info
### log schema export/update ###
log4j.logger.org.hibernate.tool.hbm2ddl=info
### log HQL parse trees
#log4j.logger.org.hibernate.hql=debug
### log cache activity ###
log4j.logger.org.hibernate.cache=info
### log transaction activity
#log4j.logger.org.hibernate.transaction=debug
### log JDBC resource acquisition
#log4j.logger.org.hibernate.jdbc=debug
Warum kann ich nicht sehen, die log-Informationen?
Ich möchte die Werte in der sql-where-Klauseln oder in insert-Anweisungen (eigentlich sehe ich nur einige '?')
Vielen Dank im Voraus.
Für Klarheit lege ich unter der Ordnerstruktur von meinem Projekt:
MyProject
¦ build.xml
¦ log4j.properties
¦
+---build
¦ ¦ capitolo2-ejb.jar
¦ ¦ capitolo2-war.war
¦ ¦ JBoss4.dpf
¦ ¦
¦ +---lib
¦ ¦ log4j-1.2.15.jar
¦ ¦ slf4j-api.jar
¦ ¦ slf4j-jboss-logmanager.jar
¦ ¦
¦ +---META-INF
¦ chapter2-hornetq-jms.xml
¦ jboss-app.xml
¦ log4j.properties
¦ MANIFEST.MF
¦
+---capitolo2-ejb
¦ ¦ build.xml
¦ ¦
¦ ¦
¦ +---build
¦ ¦ +---classes
¦ ¦ ¦ ¦ .netbeans_automatic_build
¦ ¦ ¦ ¦ .netbeans_update_resources
¦ ¦ ¦ ¦
¦ ¦ ¦ +---ejb
¦ ¦ ¦ ¦ +---com
¦ ¦ ¦ ¦ +---ejb3inaction
¦ ¦ ¦ ¦ +---actionbazaar
¦ ¦ ¦ ¦ +---buslogic
¦ ¦ ¦ ¦ ¦ BillingException.class
¦ ¦ ¦ ¦ ¦ OrderBillingMDB.class
¦ ¦ ¦ ¦ ¦ PlaceBid.class
¦ ¦ ¦ ¦ ¦ PlaceBidBean.class
¦ ¦ ¦ ¦ ¦ PlaceOrder.class
¦ ¦ ¦ ¦ ¦ PlaceOrderBean.class
¦ ¦ ¦ ¦ ¦
¦ ¦ ¦ ¦ +---persistence
¦ ¦ ¦ ¦ Bid.class
¦ ¦ ¦ ¦ BillingInfo.class
¦ ¦ ¦ ¦ Order.class
¦ ¦ ¦ ¦ OrderStatus.class
¦ ¦ ¦ ¦ ShippingInfo.class
¦ ¦ ¦ ¦
¦ ¦ ¦ +---META-INF
¦ ¦ ¦ beans.xml
¦ ¦ ¦ jboss.xml
¦ ¦ ¦ MANIFEST.MF
¦ ¦ ¦ persistence.xml
¦ ¦ ¦
¦ ¦ +---empty
¦ ¦ +---generated-sources
¦ ¦ +---ap-source-output
¦ +---dist
¦ ¦ capitolo2-ejb.jar
¦ ¦
¦ +---lib
¦ ¦ log4j-1.2.15.jar
¦ ¦
¦ +---nbproject
¦ ¦ ¦ ant-deploy.xml
¦ ¦ ¦ build-impl.xml
¦ ¦ ¦ genfiles.properties
¦ ¦ ¦ project.properties
¦ ¦ ¦ project.xml
¦ ¦ ¦
¦ ¦ +---private
¦ ¦ private.properties
¦ ¦ private.xml
¦ ¦
¦ +---setup
¦ ¦ jboss-ds.xml
¦ ¦
¦ +---src
¦ +---conf
¦ ¦ beans.xml
¦ ¦ jboss.xml
¦ ¦ MANIFEST.MF
¦ ¦ persistence.xml
¦ ¦
¦ +---java
¦ +---ejb
¦ +---com
¦ +---ejb3inaction
¦ +---actionbazaar
¦ +---buslogic
¦ ¦ BillingException.java
¦ ¦ OrderBillingMDB.java
¦ ¦ PlaceBid.java
¦ ¦ PlaceBidBean.java
¦ ¦ PlaceOrder.java
¦ ¦ PlaceOrderBean.java
¦ ¦
¦ +---persistence
¦ Bid.java
¦ BillingInfo.java
¦ Order.java
¦ OrderStatus.java
¦ ShippingInfo.java
¦
+---capitolo2-war
¦ ¦ build.xml
¦ ¦
¦ +---build
¦ ¦ +---empty
¦ ¦ +---generated-sources
¦ ¦ ¦ +---ap-source-output
¦ ¦ +---lib
¦ ¦ ¦ log4j-1.2.15.jar
¦ ¦ ¦ slf4j-api.jar
¦ ¦ ¦ slf4j-jboss-logmanager.jar
¦ ¦ ¦
¦ ¦ +---web
¦ ¦ ¦ index.jsp
¦ ¦ ¦
¦ ¦ +---META-INF
¦ ¦ ¦ MANIFEST.MF
¦ ¦ ¦
¦ ¦ +---WEB-INF
¦ ¦ ¦ beans.xml
¦ ¦ ¦ jboss-web.xml
¦ ¦ ¦
¦ ¦ +---classes
¦ ¦ ¦ .netbeans_automatic_build
¦ ¦ ¦ .netbeans_update_resources
¦ ¦ ¦
¦ ¦ +---it
¦ ¦ +---myservlets
¦ ¦ PlaceBidServlet.class
¦ ¦ PlaceOrderServlet.class
¦ ¦
¦ +---dist
¦ ¦ capitolo2-war.war
¦ ¦
¦ +---nbproject
¦ ¦ ¦ ant-deploy.xml
¦ ¦ ¦ build-impl.xml
¦ ¦ ¦ genfiles.properties
¦ ¦ ¦ project.properties
¦ ¦ ¦ project.xml
¦ ¦ ¦
¦ ¦ +---private
¦ ¦ private.properties
¦ ¦ private.xml
¦ ¦
¦ +---setup
¦ ¦ jboss-ds.xml
¦ ¦
¦ +---src
¦ ¦ +---conf
¦ ¦ ¦ MANIFEST.MF
¦ ¦ ¦
¦ ¦ +---java
¦ ¦ +---it
¦ ¦ +---myservlets
¦ ¦ PlaceBidServlet.java
¦ ¦ PlaceOrderServlet.java
¦ ¦
¦ +---web
¦ ¦ index.jsp
¦ ¦
¦ +---WEB-INF
¦ beans.xml
¦ jboss-web.xml
¦
+---dist
¦ capitolo2.ear
¦
+---nbproject
¦ ¦ ant-deploy.xml
¦ ¦ build-impl.xml
¦ ¦ genfiles.properties
¦ ¦ project.properties
¦ ¦ project.xml
¦ ¦
¦ +---private
¦ private.properties
¦
+---setup
¦ jboss-ds.xml
¦ jboss4-netbeans-destinations-service.xml
¦ log4j.properties
¦
+---src
+---conf
chapter2-hornetq-jms.xml
jboss-app.xml
log4j.properties
MANIFEST.MF
InformationsquelleAutor der Frage Rosanero4Ever | 2011-12-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hibernate logging ist auch aktiviert in der hibernate-Konfiguration.
Zeilen hinzufügen
entweder
oder Anwendung
persistence.xml
im<persistence-unit><properties>
tag.Sowieso hibernate logging nicht (in brauchbarer form) info auf tatsächliche prepared statements' - Parameter.
Gibt es eine alternative Möglichkeit der Verwendung von log4jdbc für jede Art von sql-Protokollierung.
Obigen Antwort davon ausgegangen, dass Sie den code ausführen, verwendet hibernate in JBoss, nicht in der IDE.
In diesem Fall sollten Sie die Protokollierung konfigurieren auch auf JBoss in server\default\deploy\jboss-logging.xml nicht in lokalen IDE-classpath.
Beachten Sie, dass JBoss 6 nicht verwenden log4j standardmäßig. So das hinzufügen von log4j.Eigenschaften Ohr nicht helfen.
Versuchen Sie einfach hinzufügen jboss-logging.xml:
Ändern Sie dann die Schwelle für den root-logger. Sehen SLF4J-logger.debug() nicht angemeldet JBoss 6.
Wenn Sie zu verwalten, um debug-hibernate-Abfragen direkt aus der IDE (ohne Bereitstellung), dann sollten Sie über log4j.Eigenschaften, log4j, slf4j-api und slf4j-log4j12 Gläser auf classpath.
Sehen http://www.mkyong.com/hibernate/how-to-configure-log4j-in-hibernate-project/.
InformationsquelleAutor der Antwort Vadzim
Antworte ich mir selbst. Vorgeschlagen von Vadzim, ich muss in Betracht ziehen jboss-logging.xml Datei einfügen und diese Zeilen:
Anstelle von DEBUG-level, die ich schrieb, TRACE.
Jetzt sehen nicht nur die Konsole, aber öffne die server.log Datei (debug-Meldungen werden nicht gesendet, um die Konsole, aber Sie können diesen Modus!).
InformationsquelleAutor der Antwort Rosanero4Ever
Ihre log4j.properties-Datei sollte auf der root-Ebene Ihrer capitolo2.Ohr (nicht in META-INF), das ist hier:
InformationsquelleAutor der Antwort Nulldevice