Как настроить ведение журнала в Hibernate - SLF4j + Log4j
Try logback
Попробуйте фреймворк для логбэка, прочтите эту статью, чтобы узнать «http://logback.qos.ch/reasonsToSwitch.html[причины предпочесть логбэк перед log4j]. Чтобы интегрировать логбэк с Hibernate, обратитесь к этому -How to configure logging in Hibernate – Logback
Hibernate используетSimple Logging Facade for Java (SLF4J) для перенаправления вывода журнала в вашу подходящую среду ведения журнала (log4j, JCL, JDK logging, lofback…). В этом руководстве мы покажем вам, как вести журнал в среде ведения журналаHibernate with SLF4j + Log4j.
Технологии, используемые в этой статье:
-
Hibernate 3.6.3.Final
-
slf4j-api-1.6.1
-
slf4j-log4j12-1.6.1
-
Затмение 3.6
-
Maven 3.0.3
1. Получить SLF4j + Log4j
Чтобы вести журнал в Hibernate, вам нужен «slf4j-api.jar» и ваша предпочтительная привязка, например log4j «slf4j-log4j12.jar». Просто объявляет зависимость в вашемpom.xml
.
Файл: pom.xml
JBoss repository http://repository.jboss.org/nexus/content/groups/public/ org.hibernate hibernate-core 3.6.3.Final org.slf4j slf4j-log4j12 1.6.1
Where is slf4j-api.jar?
slf4j-api.jar определяется как зависимость «hibernate-core», поэтому вам не нужно объявлять его снова.
2. Файл свойств Log4j
Создайте файл «log4j.properties» и поместите его в путь к классам вашего проекта, см. Рисунок ниже:
Файл: log4.properties
# Direct log messages to a log file log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.File=C:\\exampleapp.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 # Root logger option log4j.rootLogger=INFO, file, stdout # Log everything. Good for troubleshooting log4j.logger.org.hibernate=INFO # Log all JDBC parameters log4j.logger.org.hibernate.type=ALL
С этой конфигурацией log4j он будет перенаправлять весь вывод журнала на консоль, а также файл в «C:\exampleapp.log
».
Note
Hibernate предоставляет множество настроек, позволяющих разработчику решать, что регистрировать. Всегда обращайтесь к этомуHibernate Log Categories, выберите несколько и внесите его в свой файл журнала.
3. Выход
Попробуйте запустить веб-приложение Hibernate, весь вывод журнала будет записан в файл «C:\exampleapp.log
». Смотрите рисунок ниже:
Скачать -Log4j-Hibernate-Example.zip (7KB)