2012-03-13 103 views
0

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 

回答

0

您将需要使用记录的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:

对于休眠,你需要在你的log4j.properties具有下列标识休眠日志类别

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 
+0

log4j.appender.console = org.apache.log4j.ConsoleAppender log4j的。 appender.console.layout = org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern =%d {yyyy-MM-dd HH:mm:ss}%p%m%n log4j.appender.FILE = org.apache.log4j.RollingFileAppender log4j.appender.FILE.File = applog.log log4j.appe nder.FILE.layout = org.apache.log4j.PatternLayout log4j.appender.FILE.layout.ConversionPattern =%d [%t]%-5p%c - %m%n 这是我的完整日志文件。虽然,我拥有所有必需的配置,hibernate生成的日志语句在控制台中以System.out.Need打印在文件中。 – 2012-03-13 16:43:00

+0

尝试在你的log4j.properties log4j.logger.org.hibernate = INFO,FILE 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 – bsimic 2012-03-13 16:51:37

+0

数据库访问代码位于单独的jar文件中,并被复制到WEB-INf/lib中。该webapp具有所有的日志配置。出于某种原因,休眠日志在控制台中打印为SystemOut,只有自定义日志出现在日志文件中。 – 2012-03-13 17:34:56