Как настроить ведение журнала в Hibernate - SLF4j Log4j

Как настроить ведение журнала в 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.

Технологии, используемые в этой статье:

  1. Hibernate 3.6.3.Final

  2. slf4j-api-1.6.1

  3. slf4j-log4j12-1.6.1

  4. Затмение 3.6

  5. 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» и поместите его в путь к классам вашего проекта, см. Рисунок ниже:

configure log4j in hibernate

Файл: 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 output

Скачать -Log4j-Hibernate-Example.zip (7KB)