2016-08-08 41 views
1

Ich möchte jboss 7 konfigurieren, um zwei Kategorien in einer anderen Datei zu speichern, aber diese Datei sql_hib.log ist leer, wenn ich jboss starte. FILE_SQL-Handler funktioniert nicht. Ich weiß nicht warum ... Wenn ich FILE_SQL auf Root-Logger setze - dann beginnt sql_hib.log zu wachsen, aber in diesem Fall enthält es viele redundante Logs. Das ist der Teil von standalone.xmljboss standalone.xml Logger-Kategorie in andere Datei

<subsystem xmlns="urn:jboss:domain:logging:1.1"> 
      <console-handler name="CONSOLE"> 
       ... 
      </console-handler> 
      <periodic-rotating-file-handler name="FILE"> 
       ... 
      </periodic-rotating-file-handler> 
      <periodic-rotating-file-handler name="FILE_SQL" autoflush="true"> 
       <level name="TRACE"/> 
       <formatter> 
        <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss} %-5p [%c] (%t) %s%E%n"/> 
       </formatter> 
       <file relative-to="jboss.server.log.dir" path="sql_hib.log"/> 
       <suffix value=".yyyy-MM-dd"/> 
       <append value="true"/> 
      </periodic-rotating-file-handler> 


      <logger category="org.hibernate.sql"> 
       <level name="TRACE"/> 
       <handlers> 
        <handler name="FILE_SQL"/> 
       </handlers> 
      </logger> 
      <logger category="org.hibernate"> 
       <level name="TRACE"/> 
       <handlers> 
        <handler name="FILE_SQL"/> 
       </handlers> 
      </logger> 
      <root-logger> 
       <level name="TRACE"/> 
       <handlers> 
        <handler name="CONSOLE"/> 
        <handler name="FILE"/> 
       </handlers> 
      </root-logger> 
     </subsystem> 
+0

Haben Sie 'org.hibernate.sql' Trace-Log-Einträge in der' server.log'? –

+0

Es ist seltsam, weil diese Einstellungen gerade anfangen zu arbeiten. Und ja - ich sehe 'org.hibernate.sql' Trace-Log in der 'server.log'. Ich poste meine Ergebniseinstellungen unten – Alan

Antwort

0

ich diese Einstellung Debug-SQL-Abfragen und Parameter vorgenommen haben. Deshalb habe ich beschlossen, eine separate Datei zu verwenden. Auch habe ich mehr Kategorien gemacht, weil eine Klasse zu viel Text macht. AbstractResultSetProxyHandler Wie schon erwähnt - Einstellungen fangen einfach an zu arbeiten ... Ich ändere sie ein wenig - um unnötigen Text zu vermeiden. Ergebnis Einstellungen:

<subsystem xmlns="urn:jboss:domain:logging:1.1"> 
    <console-handler name="CONSOLE"> 
     <level name="INFO"/> 
     <formatter> 
      <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p [%c] (%t) %s%E%n"/> 
     </formatter> 
    </console-handler> 
    <periodic-rotating-file-handler name="FILE"> 
     <formatter> 
      <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p [%c] (%t) %s%E%n"/> 
     </formatter> 
     <file relative-to="jboss.server.log.dir" path="server.log"/> 
     <suffix value=".yyyy-MM-dd"/> 
     <append value="true"/> 
    </periodic-rotating-file-handler> 
    <periodic-rotating-file-handler name="FILE_SQL" autoflush="true"> 
     <level name="TRACE"/> 
     <formatter> 
      <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss} %-5p [%c] (%t) %s%E%n"/> 
     </formatter> 
     <file relative-to="jboss.server.log.dir" path="sql_hib.log"/> 
     <suffix value=".yyyy-MM-dd"/> 
     <append value="true"/> 
    </periodic-rotating-file-handler> 
    <logger category="org.hibernate.SQL"> 
     <level name="TRACE"/> 
     <handlers> 
      <handler name="FILE_SQL"/> 
     </handlers> 
    </logger> 
    <logger category="org.hibernate.type"> 
     <level name="TRACE"/> 
     <handlers> 
      <handler name="FILE_SQL"/> 
     </handlers> 
    </logger> 
    <logger category="org.hibernate.loader"> 
     <level name="TRACE"/> 
     <handlers> 
      <handler name="FILE_SQL"/> 
     </handlers> 
    </logger> 
    <logger category="org.hibernate.persister"> 
     <level name="TRACE"/> 
     <handlers> 
      <handler name="FILE_SQL"/> 
     </handlers> 
    </logger> 
    <logger category="org.hibernate.hql"> 
     <level name="TRACE"/> 
     <handlers> 
      <handler name="FILE_SQL"/> 
     </handlers> 
    </logger> 
    <logger category="org.hibernate.cfg"> 
     <level name="TRACE"/> 
     <handlers> 
      <handler name="FILE_SQL"/> 
     </handlers> 
    </logger> 
    <logger category="org.hibernate.dialect"> 
     <level name="TRACE"/> 
     <handlers> 
      <handler name="FILE_SQL"/> 
     </handlers> 
    </logger> 
    <logger category="org.hibernate.service"> 
     <level name="TRACE"/> 
     <handlers> 
      <handler name="FILE_SQL"/> 
     </handlers> 
    </logger> 
    <logger category="org.hibernate.engine.jdbc.internal.proxy.PreparedStatementProxyHandler"> 
     <level name="TRACE"/> 
     <handlers> 
      <handler name="FILE_SQL"/> 
     </handlers> 
    </logger> 
    <root-logger> 
     <level name="DEBUG"/> 
     <handlers> 
      <handler name="CONSOLE"/> 
      <handler name="FILE"/> 
     </handlers> 
    </root-logger> 
</subsystem> 

Ich weiß, dass es besser ist, nur ein AbstractResultSetProxyHandler zu filtern, als ich jede andere Kategorie Einstellungen platzieren. Aber ich kann nicht filtern. Und diese Einstellungen funktionieren. Aber Winterschlaf-Protokolle werden auch in server.log geschrieben. Ich verstehe nicht warum