Java Hibernate日志本机sql查询

Java Hibernate日志本机sql查询,java,hibernate,logging,log4j2,Java,Hibernate,Logging,Log4j2,我需要在Hibernate 5中记录所有完整的查询(带有参数)。 My build.gradle(依赖项): 我的log4j2-test.properties: log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender

我需要在Hibernate 5中记录所有完整的查询(带有参数)。 My build.gradle(依赖项):

我的log4j2-test.properties:

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%c] - %m%n

log4j.rootLogger=info, stdout
# basic log level for all messages
log4j.logger.org.hibernate=INFO

# SQL statements and parameters
log4j.logger.org.hibernate.SQL=debug
log4j.logger.org.hibernate.type=ALL
log4j.logger.org.hibernate.type.descriptor.sql=trace

但是Hibernate不希望像预期的那样工作。

我使用XML配置格式,这对我来说是可行的

<Logger name="org.hibernate.SQL" level="debug" additivity="false">
    <AppenderRef ref="main_appender"/>
</Logger>
<Logger name="org.hibernate.type" level="trace" additivity="false">
    <AppenderRef ref="main_appender"/>
</Logger>


我对它的翻译方式的猜测是使用
log4j.logger.org.hibernate.type=trace

我使用XML配置格式,这对我很有用

<Logger name="org.hibernate.SQL" level="debug" additivity="false">
    <AppenderRef ref="main_appender"/>
</Logger>
<Logger name="org.hibernate.type" level="trace" additivity="false">
    <AppenderRef ref="main_appender"/>
</Logger>


我猜它是如何翻译的,因为您的依赖关系有点错误


请删除
org.slf4j:slf4j-log4j12
(这是针对旧的log4j1)并添加
org.apache.logging.Log4j:slf4j impl
,您的依赖项稍有错误


请删除
org.slf4j:slf4j-log4j12
(这是旧log4j1)并添加
org.apache.logging.Log4j:slf4j impl

,然后在命令行中设置
-Dorg.jboss.logging.provider=slf4j
,或者调用
System.setProperty(“org.jboss.logging.provider”,“slf4j”),然后在命令行中设置
-Dorg.jboss.logging.provider=slf4j
,或者调用
System.setProperty(“org.jboss.logging.provider”,“slf4j”)在初始化Hibernate之前。