Spring / Hibernate登录到控制台&不要记录文件

时间:2012-03-13 16:30:42

标签: hibernate spring-mvc log4j slf4j

Spring MVC,Hibernate,Log4j,SLF4j

我调用的日志条目工作正常。但是Hibernate生成的日志条目会出现在控制台中,但不会出现在日志文件中。

log4j.logger.org.springframework=WARN
log4j.logger.org.hibernate=INFO
log4j.logger.org.hibernate.type=ALL

log4j.rootLogger = DEBUG, FILE, console

1 个答案:

答案 0 :(得分:1)

你需要使用这样的记录器appender:

log4j.appender.MyFileAppender=org.apache.log4j.FileAppender
log4j.appender.MyFileAppender.File=logFileName.log
log4j.appender.MyFileAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.MyFileAppender.layout.ConversionPattern=%-4r [%t] %-5p %c %x :: %m%n

然后在你的log4j.rootLogger中你可以做

log4j.rootLogger = DEBUG, FILE, MyFileAppender

这会将日志输出放入log4j.appender.MyFileAppender.File = logFileName.log

中指定的文件名中

这需要添加到您的log4j.properties中。

@Edit:

对于Hibernate,您需要在log4j.properties中使用以下内容来识别hibernate日志类别

log4j.logger.org.hibernate=INFO, MyFileAppender
log4j.logger.org.hibernate.SQL=DEBUG
log4j.logger.org.hibernate.type=TRACE
log4j.logger.org.hibernate.hql.ast.AST=info
log4j.logger.org.hibernate.tool.hbm2ddl=warn
log4j.logger.org.hibernate.hql=debug
log4j.logger.org.hibernate.cache=info
log4j.logger.org.hibernate.jdbc=debug