Wie bekomme ich mehr debug-Meldungen aus dem Ruhezustand?

Ich habe nicht in der Lage zu bekommen, eine weitere Ausgabe in der Konsole (Debuggen) aus dem Ruhezustand trotz ein paar Eigenschaften in der hibernate.cfg.xml - Datei. Zum Beispiel, durch hinzufügen der Zeile <property name="show_sql">true</property> nicht, in der Tat, zeigen Sie SQL-Anweisungen in der Konsole.

Ich habe auch versucht zu spielen, um mit dem Inhalt der log4j.properties Datei - wie Einstellung log4j.logger.org.hibernate=debug - ohne Glück. Was bin ich?


Edit: den Inhalt der hibernate-service.xml Datei

<server> 
    <mbean code="org.jboss.hibernate.jmx.Hibernate" 
       name="jboss.har:service=Hibernate_SMS"> 
        <attribute name="DatasourceName">java:/SMS_DS</attribute> 
        <attribute name="Dialect">org.hibernate.dialect.HSQLDialect</attribute> 
        <attribute name="SessionFactoryName">java:/hibernate/SessionFactory</attribute> 
        <attribute name="CacheProviderClass">org.hibernate.cache.HashtableCacheProvider</attribute>
        <attribute name="ShowSqlEnabled">true</attribute>
    </mbean> 
</server>

Bin ich mir nicht 100% sicher, ob dies tatsächlich einen Effekt, wenn. Diese XML-Datei wird in das Eclipse-Projekt, dass meine Griffe Datenbank Sachen, aber scheint nicht zu sein, in das JBoss-deploy-Verzeichnis.


Edit 2: Dies ist definitiv der Bereitstellung als ein HAR. Das heißt, ich bin mir ziemlich sicher, dass ich brauchen hibernate.cfg.xml - ich erinnere mich an Probleme, wenn eine mapping-Dokument weggelassen wurde, wie ein Eintrag in dieser Datei. Ich denke, die HAR erzeugt wird mit Hilfe des ant - es gibt ein Ziel für das es in der build.xml Datei:

<target name="har" depends="prepare" description="Builds the Hibernate HAR file">
    <mkdir dir="${class.root}" />
    <mkdir dir="${distribution.dir}" />

    <jar destfile="${distribution.dir}/${har.name}">                    
        <!-- include the hbm.xml files  -->
        <fileset dir="${class.root}">
            <include name="**/*.hbm.xml"/>
            <include name="com/[redacted]/sms/data/dto/*.class"/>
            <include name="com/[redacted]/sms/data/dto/base/*.class"/>
        </fileset>

        <!-- include jboss-service.xml -->
        <metainf dir="${hibernate.dir}">
            <include name="hibernate-service.xml"/>
        </metainf>
    </jar>
</target>

aber wenn ich den ant-build-mit falsch-geformten xml in der hibernate-service.xml Datei, die es nicht scheitern. Update Auch das löschen der Datei vollständig nicht dazu führen, dass ein build fehlschlägt. Irgendwelche Ideen hier? End Update

Klingt es wie immer Ruhezustand, um die Ausgabe von SQL-Anweisungen sollten (wenn alles korrekt eingerichtet ist) kümmern sich um Sie ganz - heißt das, dass die Einstellungen in log4j.Eigenschaften wird nicht einen Unterschied machen hier? - weil das eigentlich hat ändern Sie die Ausgabe beim ausführen von ant.

Edit 3: Nach laufen in die andere komische Probleme mit meinen Daten har ich gelöscht, die har-Datei vollständig und baute es mit Hilfe der har ant-build-target. Plötzlich alles funktioniert! Dank chessplay für seine unglaubliche Hilfsbereitschaft. Kann ich nicht sagen, ich weiß genau, was hat es am Ende, aber ich würde lieber für seine Bemühungen anerkennen als schreiben, und akzeptieren Sie meine Antwort; ich bitte um Entschuldigung, wenn Sie nicht ein "er".

  • hibernate.show_sql (oder ShowSqlEnabled in der JBoss mbean) ist unabhängig von der Protokollierung-Konfiguration; wenn aktiviert, wird es immer gedruckt SQL-Konsole. Einstellung org.hibernate.SQL=DEBUG im entsprechenden logger-Konfiguration wird das gleiche tun, aber was auch immer die Ausgabe konfiguriert ist, für den logger. Beide Methoden sind unabhängig von einander (z.B. wenn Sie beide erhalten Sie sql-zweimal gedruckt werden)
InformationsquelleAutor Matt Ball | 2009-09-04
Schreibe einen Kommentar