2012-03-13 107 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