2011-09-16 110 views
0

有人可以告訴我如何將所有sql語句記錄到一個單獨的文件? 這裏是我的屬性文件:Log4j和休眠sql

# Root logger option 
log4j.rootLogger=INFO, file, stdout, hibernate, sql 

# Direct log messages to a log file 
log4j.appender.file=org.apache.log4j.RollingFileAppender 
log4j.appender.file.File=/home/karq/proovikas.log 
log4j.appender.file.MaxFileSize=1MB 
log4j.appender.file.MaxBackupIndex=1 
log4j.appender.file.layout=org.apache.log4j.PatternLayout 
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n 

# Direct log messages to stdout 
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{ABSOLUTE} %5p %c{1}:%L - %m%n 

#log hibernate 
log4j.appender.hibernate = org.apache.log4j.RollingFileAppender 
log4j.appender.hibernate.File=/home/karq/hibernate.log 
log4j.appender.hibernate.MaxFileSize=2MB 
log4j.appender.hibernate.MaxBackupIndex=1 
log4j.appender.hibernate.layout=org.apache.log4j.PatternLayout 
log4j.appender.hibernate.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n 
log4j.category.com.karq.server = INFO, hibernate 
log4j.category.org.hibernate = INFO, hibernate 
log4j.category.org.hibernate.type = INFO, hibernate 
log4j.additivity.org.hibernate=false 
log4j.additivity.org.hibernate.type=false 
log4j.additivity.com.karq.server=false 
#log hibernate 
log4j.appender.sql = org.apache.log4j.RollingFileAppender 
log4j.appender.sql.File=/home/karq/sql.log 
log4j.appender.sql.MaxFileSize=2MB 
log4j.appender.sql.MaxBackupIndex=1 
log4j.appender.sql.layout=org.apache.log4j.PatternLayout 
log4j.appender.sql.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n 
log4j.category.org.hibernate.SQL = INFO, sql 
log4j.additivity.org.hibernate.SQL=false 
+0

您是否啓用hibernate.show_sql? – ssedano

+0

是的,我確實啓用 – karq

回答

0

你可能需要您的記錄器設置爲DEBUG或ALL:

log4j.category.org.hibernate.SQL = ALL, sql 

Here一些文章,討論一下吧。

0

新版本的log4j使用記錄器和appender的組合。分類不再被推薦。我在我的應用程序中使用它來完成你所要求的。

log4j.logger.org.hibernate=DEBUG, org.hibernate 
log4j.logger.Hibernate=DEBUG, org.hibernate 

log4j.appender.org.hibernate=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.org.hibernate.DatePattern=-yyyy-MM-dd-HH 
log4j.appender.org.hibernate.File=hibernate.log 
log4j.appender.org.hibernate.layout=org.apache.log4j.PatternLayout 
log4j.appender.org.hibernate.layout.ConversionPattern=%d{dd MMM yyyy HH\:mm\:ss,SSS} [%t] %-5p %c %x - %m%n