Java Hibernate日志本机sql查询
我需要在Hibernate 5中记录所有完整的查询(带有参数)。 My build.gradle(依赖项): 我的log4j2-test.properties: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
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”)初始化Hibernate之前的code>,然后在命令行中设置-Dorg.jboss.logging.provider=slf4j
,或者调用System.setProperty(“org.jboss.logging.provider”,“slf4j”)代码>在初始化Hibernate之前。