如何使用log4j2.xml配置hibernate日志记录?

Yur*_*nko 10 java configuration logging hibernate log4j2

我最近切换到Apache log4j2,仍然找不到使用log4j2.xml配置hibernate日志记录的方法.

因为我无法找到解决此问题的方法,所以我仍然明确地将log4j.properties文件用于hibernate.这不是最佳解决方案,因为我的log4j2.xml使用JPA appender(将日志写入db).我不想为hibernate编写单独的逻辑.

有没有办法使用log4j2配置hibernate日志记录?

小智 5

正如https://issues.apache.org/jira/browse/LOG4J2-172中建议的那样 你可以添加系统属性来强制hibernate使用slf4j

-Dorg.jboss.logging.provider = SLF4J

还应将log4j-slf4j-impl添加到classpath中

我的自定义解决方案:使用Spring,您可以在属性文件中放置org.jboss.logging.provider = slf4j

(envConfigLocation是文件url)

<bean id="propertyConfigurer" class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
   <property name="location" ref="envConfigLocation" />
   <property name="order" value="1"/>
</bean>
Run Code Online (Sandbox Code Playgroud)