JAVA & Open Framework2013. 10. 5. 13:58

1. log4j-xxx.jar 라이브러리를 프로젝트에 추가한다.


2. 아래와 같이 사용(log4j.properties 파일 - class 생성되는 폴더에 위치) : 아래 첨부파일참조



log4j.properties




#Log4J Settings for log4j 1.2.x (via jakarta-commons-logging)

#

# The five logging levels used by Log are (in order):

#

# 1. DEBUG (the least serious)

# 2. INFO

# 3. WARN

# 4. ERROR

# 5. FATAL (the most serious)


# Set root logger level to WARN and append to stdout

#로그설정(로그레벨 DEBUG(최저 심각도), INFO, WARN, ERROR, FATAL(최고) / OFF일 경우 로그사용 안함), 사용 로그 이름

log4j.rootLogger=DEBUG, stdout, rolling 


#stdout 로그 레벨 설정

log4j.appender.stdout.Threshold=WARN

#stdout 콘솔 어펜더로 사용

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

#stdout 패턴 레이아웃 사용

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

# Pattern to output the caller's file name and line number.

# stdout 레이아웃 패턴 정의

#%p : debug, info 등의 로그타입

#%d : 로그 발생 시간 SimpleDateFormat을 따름( ex) %d{yyyy-MM-dd HH:mm:ss} )

#%t : 로그 쓰레드 이름

#%F : 로그 발생 프로그램 파일명( ex) HolloWorld.java 등으로 표시됨)

#%c : 로그 발생 클래스명(만약 패키지가 너무 길다면 %c{숫자}로 조절 가능)

#( ex) action.test1.test2.LoginAction.class => %c{1} : LoginAction /  %c{2} : test2.LoginAction 

#  %c{3} : test1.test2.LoginAction / %c{4} : action.test1.test2.LoginAction .....  )  

#%M : 로그 발생 메서드명

#%L : 호출 코드 라인

#%r : 프로그램 시작 후 로그 발생까지 시간

#%m : 로그로 전달된 메시지(즉, 발생하도록 세팅한 메시지)

#%n : 개행

log4j.appender.stdout.layout.ConversionPattern=%t> [%d{yyyy-MM-dd HH:mm:ss}] [%c{1}] [%L line] [%p] %m %n



#롤링파일 어펜더 사용

log4j.appender.rolling=org.apache.log4j.RollingFileAppender

#롤링파일 로그에 대한 경로 및 파일명

log4j.appender.rolling.File=D:/output.log

#롤링파일 로그 최대 크기

log4j.appender.rolling.MaxFileSize=3KB

#롤링파일 로그 크기가 MaxFileSize를 초과한 경우 백업 파일의 수( ex)output.log.1 , output.log.2 ...)

log4j.appender.rolling.MaxBackupIndex=2

#롤링파일 패턴 레이아웃 사용 설정

log4j.appender.rolling.layout=org.apache.log4j.PatternLayout

#롤링파일 패턴 레이아웃 정의

log4j.appender.rolling.layout.ConversionPattern=%t> [%d{yyyy-MM-dd HH:mm:ss}] [%c{1}] [%L line] [%p] %m %n




3. Pattern Layout

#%p : debug, info 등의 로그타입
#%d : 로그 발생 시간 SimpleDateFormat을 따름( ex) %d{yyyy-MM-dd HH:mm:ss} )
#%t : 로그 쓰레드 이름
#%F : 로그 발생 프로그램 파일명( ex) HolloWorld.java 등으로 표시됨)
#%c : 로그 발생 클래스명(만약 패키지가 너무 길다면 %c{숫자}로 조절 가능)
#( ex) action.test1.test2.LoginAction.class => %c{1} : LoginAction /  %c{2} : test2.LoginAction 
#  %c{3} : test1.test2.LoginAction / %c{4} : action.test1.test2.LoginAction .....  )  
#%M : 로그 발생 메서드명
#%L : 호출 코드 라인
#%r : 프로그램 시작 후 로그 발생까지 시간
#%m : 로그로 전달된 메시지(즉, 발생하도록 세팅한 메시지)
#%n : 개행







출처 및 참고 : http://pupustory.tistory.com/152

Posted by 아로나