하이버네이트는 Log4j와 logback framework를 사용할 수 있다.
다음 두가지 방법으로 logging할 수 있다.
- log4j.xml
- log4j.properties
1. xml을 이용한 logging
xml을 이용하여 log4j를 사용하기 위해서는 아래의 절차가 필요하다.
- 하이버네이트의 log4j.jar 파일을 로드
- src 폴더에 log4j.xml 파일을 생성 (hibernate.cfg.xml 파일과 병렬적으로 실행)
1-1. 하이버네이트의 log4j.jar 파일을 로드
Hibernate 정리 - 2 (Annotation) 에서 모든 jar를 넣어뒀다면 패스한다.
1-2. log4j.xml 파일 생성
이제 log4j.xml 파일을 생성할 차례이다. 아래는 logging을 위한 예제이다.
<?xml version="1.0" encoding="UTF-8"?>
<log4j:configuration debug="false" xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender class="org.apache.log4j.ConsoleAppender" name="CONSOLE">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{dd/MM/yy hh:mm:ss:sss z}] %5p %c{2}: %m%n" />
</layout>
</appender>
<appender class="org.apache.log4j.AsyncAppender" name="ASYNC">
<appender-ref ref="CONSOLE"></appender-ref>
<appender-ref ref="FILE"></appender-ref>
</appender>
<appender class="org.apache.log4j.RollingFileAppender" name="FILE">
<param name="File" value="C:/example1log.log" />
<param name="MaxBackupIndex" value="100" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{dd/MM/yy hh:mm:ss:sss z}] %5p %c{2}: %m%n" />
</layout>
</appender>
<category name="org.hibernate">
<priority value="DEBUG">
</priority></category>
<category name="java.sql">
<priority value="debug">
</priority></category>
<root>
<priority value="INFO">
<appender-ref ref="FILE">
</appender-ref></priority></root>
</log4j:configuration>
2. properties를 이용한 logging
properties를 이용하여 log4j를 사용하기 위해서는 아래의 절차가 필요하다.
- 하이버네이트의 log4j.jar 파일을 로드
- src 폴더에 log4j.properties 파일을 생성 (hibernate.cfg.xml 파일과 병렬적으로 실행)
2-1. 하이버네이트의 log4j.jar 파일을 로드
1-1과 동일하다.
2-2. log4j.properties 파일 생성
# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\\example1log.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
댓글 없음:
댓글 쓰기