Как настроить ведение журнала в Hibernate - Logback
В этом руководстве мы покажем, как интегрироватьLogback logging framework с Hibernate.
Инструменты и технологии, используемые в этом уроке:
-
Hibernate 3.6.3.Final
-
slf4j-api-1.6.1
-
logback-core-0.9.28
-
logback-classic-0.9.28
-
Затмение 3.6
-
Maven 3.0.3
1. Получить SLF4j + Logback
Чтобы использовать logback в веб-приложении Hibernate, вам нужно 3 библиотеки:
-
slf4j-api.jar
-
logback-core
-
logback-classic
Файл: pom.xml
JBoss repository http://repository.jboss.org/nexus/content/groups/public/ org.hibernate hibernate-core 3.6.3.Final ch.qos.logback logback-core 0.9.28 ch.qos.logback logback-classic 0.9.28
Where is slf4j-api.jar?
slf4j-api.jar определяется как зависимость «hibernate-core», поэтому вам не нужно объявлять его снова.
2. logback.xml
Создайте файл «logback.xml» и поместите его в путь к классам вашего проекта, см. Рисунок ниже:
Классический пример «logback.xml
».
%d{yyyy-MM-dd_HH:mm:ss.SSS} %-5level %logger{36} - %msg%n c:/exampleapp.log %d{yyyy-MM-dd_HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n c:/exampleapp.%i.log.zip 1 10 2MB
С этой конфигурациейlogback.xml
это означает перенаправление всех выходных данных журнала вашего веб-приложения на консоль, а также файл в «c:/exampleapp.log
».
3. Выход
См. Вывод логбэка в «C:\exampleapp.log
» ниже:
//... 2011-04-23_14:34:08.055 [main] DEBUG o.h.transaction.JDBCTransaction - commit 2011-04-23_14:34:08.056 [main] DEBUG o.h.e.d.AbstractFlushingEventListener - processing flush-time cascades 2011-04-23_14:34:08.056 [main] DEBUG o.h.e.d.AbstractFlushingEventListener - dirty checking collections 2011-04-23_14:34:08.058 [main] DEBUG o.h.e.d.AbstractFlushingEventListener - Flushed: 1 insertions, 0 updates, 0 deletions to 1 objects 2011-04-23_14:34:08.058 [main] DEBUG o.h.e.d.AbstractFlushingEventListener - Flushed: 0 (re)creations, 0 updates, 0 removals to 0 collections 2011-04-23_14:34:08.059 [main] DEBUG org.hibernate.pretty.Printer - listing entities: 2011-04-23_14:34:08.060 [main] DEBUG org.hibernate.pretty.Printer - com.example.user.DBUser{username=Hibernate101, createdBy=system, userId=100, createdDate=Sat Apr 23 14:34:08 SGT 2011} 2011-04-23_14:34:08.064 [main] DEBUG org.hibernate.jdbc.AbstractBatcher - about to open PreparedStatement (open PreparedStatements: 0, globally: 0) 2011-04-23_14:34:08.066 [main] DEBUG org.hibernate.SQL - insert into MKYONG.DBUSER (CREATED_BY, CREATED_DATE, USERNAME, USER_ID) values (?, ?, ?, ?) 2011-04-23_14:34:08.150 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - system 2011-04-23_14:34:08.152 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [DATE] - Sat Apr 23 14:34:08 SGT 2011 2011-04-23_14:34:08.153 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [VARCHAR] - Hibernate101 2011-04-23_14:34:08.153 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [INTEGER] - 100
Скачать -Logback-Hibernate-Example.zip (8KB)