2017-05-31 60 views
1

所以我有一個項目,我使用Wildfly 10和休眠5.2.9,我試圖使用Log4J2登錄休眠的東西,如查詢等等,但由於某種原因它不工作 Log4J2的作品,當我登錄應用程序類的東西log.info(「東西」)...... 我張貼在這裏我log42j.xml文件Wildfly + Hibernate + Log4J2 - >不記錄休眠東西

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration xmlns="http://logging.apache.org/log4j/2.0/config"> 

<Appenders> 
    <Appender type="FILE" name="FF" fileName="C:/logs/logfile.log"> 
     <Layout type="type" pattern="%-5p | %d{yyyy-MM-dd HH:mm:ss} | %C{2} 
(%F:%L) - %m%n" 
    </Appender> 
</Appenders> 

<Loggers> 
    <Logger name="my.java.package" level="DEBUG"> 
     <AppenderRef ref="FILE"></AppenderRef> 
    </Logger> 
    <Logger name="org.hibernate.type" level="TRACE"> 
     <AppenderRef ref="FILE"></AppenderRef> 
    </Logger> 
    <Logger name="org.hibernate.SQL" level="TRACE"> 
     <AppenderRef ref="FILE"></AppenderRef> 
    </Logger> 
    <Logger name="org.hibernate" level="TRACE"> 
     <AppenderRef ref="FILE"></AppenderRef> 
    </Logger> 

    <Root level="ALL"> 
     <AppenderRef ref="FILE"/> 
    </Root> 
</Loggers> 

</Configuration> 

如何有什麼想法我能解決這個? 謝謝!

+0

可能的重複:https://stackoverflow.com/questions/436276/configuring-hibernate-logging-using-log4j-xml-config-file –

+0

我知道它可能看起來像重複,但我已經通過了職位和其他人,我仍然無處可去。這就是爲什麼我發佈我的具體案例=) – GoAlves

回答

1

由於Hibernate是服務器提供的模塊,它使用服務器日誌記錄配置,而不是部署中提供的配置。

真的,你不希望Hibernate使用你的日誌配置。如果您有多個部署,每個部署都有自己的日誌記錄配置,則不能保證配置日誌記錄時哪個配置會獲勝。

+0

我沒有看到這種方式,但我認爲你是對的。最好讓Hibernate使用服務器的日誌記錄配置,因爲它可能會在我的日誌文件中與最重要的IMO應用程序日誌混合在一起,產生大量開銷。 謝謝! – GoAlves