Spring / Hibernate Вход в консоль, а не в файл журнала - PullRequest
1 голос
/ 13 марта 2012

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 Ответ

1 голос
/ 13 марта 2012

Вам нужно будет использовать приложение-регистратор, например, так:

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 для определения категорий журнала гибернации

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
...