春天/休眠记录到控制台和不记录文件
问题描述:
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
答
您将需要使用记录的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
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
尝试在你的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
数据库访问代码位于单独的jar文件中,并被复制到WEB-INf/lib中。该webapp具有所有的日志配置。出于某种原因,休眠日志在控制台中打印为SystemOut,只有自定义日志出现在日志文件中。 – 2012-03-13 17:34:56