2015-05-22 78 views
2

我跑localy wildfly 8.2,並在standalone.xml設置Hibernate日誌這樣wildfly休眠log4j的日誌記錄不工作

<subsystem xmlns="urn:jboss:domain:logging:2.0"> 
     <console-handler name="CONSOLE"> 
      <level name="INFO"/> 
      <formatter> 
       <named-formatter name="COLOR-PATTERN"/> 
      </formatter> 
     </console-handler> 
     <periodic-rotating-file-handler name="FILE" autoflush="true"> 
      <formatter> 
       <named-formatter name="PATTERN"/> 
      </formatter> 
      <file relative-to="jboss.server.log.dir" path="server.log"/> 
      <suffix value=".yyyy-MM-dd"/> 
      <append value="true"/> 
     </periodic-rotating-file-handler> 
     <logger category="com.arjuna"> 
      <level name="WARN"/> 
     </logger> 
     <logger category="org.apache.tomcat.util.modeler"> 
      <level name="WARN"/> 
     </logger> 
     <logger category="org.jboss.as.config"> 
      <level name="DEBUG"/> 
     </logger> 
     <logger category="sun.rmi"> 
      <level name="WARN"/> 
     </logger> 
     <logger category="jacorb"> 
      <level name="WARN"/> 
     </logger> 
     <logger category="jacorb.config"> 
      <level name="ERROR"/> 
     </logger> 
     <logger category="org.hibernate"> 
      <level name="TRACE"/> 
     </logger> 
     <logger category="jboss.jdbc.spy"> 
      <level name="TRACE"/> 

     </logger> 
     <logger category="org.hibernate.type"> 
      <level name="TRACE"/> 
     </logger> 
     <logger category="org.hibernate.SQL"> 
      <level name="TRACE"/> 
     </logger> 
     <root-logger> 
      <level name="INFO"/> 
      <handlers> 
       <handler name="CONSOLE"/> 
       <handler name="FILE"/> 
      </handlers> 
     </root-logger> 
     <formatter name="PATTERN"> 
      <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/> 
     </formatter> 
     <formatter name="COLOR-PATTERN"> 
      <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/> 
     </formatter> 
    </subsystem> 

持久性單元:

<persistence-unit name="cloudflow"> 
      <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider> 
      <jta-data-source>java:jboss/datasources/cloudflow</jta-data-source> 
      <properties> 
      <!-- Properties for Hibernate --> 
      <property name="hibernate.jdbc.batch_size" value="50"/> 
      <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLInnoDBDialect" /> 
      </properties> 
     </persistence-unit> 

Maven的依賴:

<dependency> 
       <groupId>log4j</groupId> 
       <artifactId>log4j</artifactId> 
       <version>1.2.16</version> 
       <scope>provided</scope> 
      </dependency> 

      <dependency> 
       <groupId>org.apache.commons</groupId> 
       <artifactId>commons-lang3</artifactId> 
       <version>3.3.2</version> 
      </dependency> 
<!-- Import the JPA API, we use provided scope as the API is included in JBoss WildFly --> 
     <dependency> 
      <groupId>org.hibernate.javax.persistence</groupId> 
      <artifactId>hibernate-jpa-2.1-api</artifactId> 
      <scope>provided</scope> 
     </dependency> 

     <!-- JSR-303 (Bean Validation) Implementation --> 
     <!-- Provides portable constraints such as @Email --> 
     <!-- Hibernate Validator is shipped in JBoss WildFly --> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-validator</artifactId> 
      <scope>provided</scope> 
     </dependency> 

     <dependency> 
      <groupId>org.hibernate.common</groupId> 
      <artifactId>hibernate-commons-annotations</artifactId> 
      <version>4.0.4.Final</version> 
      <scope>provided</scope> 
     </dependency> 

     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-core</artifactId> 
      <version>4.3.0.Final</version> 
      <scope>provided</scope> 
     </dependency> 

SQL查詢被記錄,但不是綁定的參數值...任何線索爲什麼?

+0

是否打開了hibernate.show_sql?嘗試關閉它。 –

+0

如果我關閉它,我甚至不會再看到sql-s,所以它沒有幫助 – simonC

+0

它確實有很大的幫助,這就是我所設想的。 :)這意味着你的日誌配置被完全忽略,sql只是因爲hibernate.show_sql才被打印出來。你是否使用Hibernate作爲JBoss的模塊,或者你在應用程序中明確地添加了它(戰爭,耳朵)? –

回答

5

正如我在你的配置中可以看到的那樣,輸出到文件日誌應該沒問題;只有控制檯會切斷INFO以下的所有內容。

要在控制檯中完成此項工作,請刪除console-handler中的<level name="INFO"/>配置。

+0

謝謝... aaaaa這是一個簡單的解決方案,但我已經把那條線:) ... tnx – simonC