如何重定向hibernate日志到文件

正在做的项目使用了hibernate,但hibernate的SQL一直只输出到console,并没有写到日志文件

项目使用的是log4j,调了log4j.properties也不起效,后来在hibernate官网发现一条说明:Hibernate utilizes Simple Logging Facade for Java (SLF4J) in order to log various system events. 

这才恍然大悟,原来我们的web server启动起来一直报
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation

没有去理会,原来hibernate是用slf4j来做日志的facade,加上slf4j的依赖包后重启server就搞定了。
build.gradle的配置:
slf4j = ["org.slf4j:slf4j-log4j12:1.6.1"]
compile = <jar...>,slf4j

log4j.properties的配置:
log4j.logger.org.hibernate.SQL=DEBUG,3rdPartyAppender
log4j.additivity.org.hibernate=false

重启之后提示,hibernate.SQL日志能正常显示
SLF4J: Found binding in [jar:file:/C:/Users/maxeric/.gradle/cache/org.slf4j/slf4j-log4j12/jars/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]


参考:
http://docs.jboss.org/hibernate/core/3.3/reference/en/html/session-configuration.html

猜你喜欢

转载自maxeric2007.iteye.com/blog/1184129
今日推荐