Java2EE Framework/Logging

Log4j.properties 설정 파일 작성 방법

본클라쓰 2010. 6. 12. 14:51

# Log4j Setting file 최상위 카테고리는 INFO 레벨에 콘솔 출력
log4j.rootLogger=INFO, console, logfile, mail

 

# stdout 카테고리는 ConsoleAppender(콘솔)에 출력
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern = [%d{yy/MM/dd} %-5p %c{2}.%M (%F:%L) %m%n]

 

# rolling 카테고리는 DailyRollingFileAppender(파일)에 출력
log4j.appender.logfile = org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.File = D:/output.log
log4j.appender.logfile.Append = true
log4j.appender.logfile.DatePattern = '.'yy-MM-dd
log4j.appender.logfile.layout = org.apache.log4j.patternLayout
log4j.appender.logfile.layout.ConversionPattern =

 

#mail는 SMTPAppender(SMTP 메일)에 출력   
log4j.appender.mail=org.apache.log4j.net.SMTPAppender   
log4j.appender.mail.BufferSize=512   
log4j.appender.mail.SMTPHost=SMTP호스트   
log4j.appender.mail.SMTPUsername=아이디   
log4j.appender.mail.SMTPPassword=비밀번호   
log4j.appender.mail.TimeFrame=30   
log4j.appender.mail.MaxEMails=10   
log4j.appender.mail.From=보내는사람 메일주소   
log4j.appender.mail.To=받는사람 메일주소   
log4j.appender.mail.Subject=메일 제목   
log4j.appender.mail.layout=org.apache.log4j.PatternLayout   
log4j.appender.mail.layout.ConversionPattern=%d{ISO8601} %5p [%t] (%F:%L) - %m%n   

 

로깅 메시지를 화면에도 출력하고 파일로도 출력한다. 파일의 경우에는 매일매일 날짜별로 다른 파일을 사용하므로 한개의 로그 파일이 무한정 커지는 것을 걱정할 필요가 없다. 이 설정대로 하면 로깅 메시지에 로그를 남길 소스 파일의 이름과 소스에서 메소드 이름과 줄 번호까지 출력된다.

 

 

로그파일명 포맷(Datepattern)

 

'.'yyyy-MM : 매달 첫번째날에 로그파일을 변경
'.'yyyy-ww : 매주의 시작시 로그파일을 변경
'.'yyyy-MM-dd : 매일 자정에 로그 파일을 변경
'.'yyyy-MM-dd-a : 자정과 정오에 로그 파일 변경
'.'yyyy-MM-dd-HH : 매 시간의 시작마다 로그 파일 변경
'.'yyyy-MM-dd-HH-mm : 매분마다 로그 파일 변경



PatternLayout 포멧 : 로그 자체를 어떤 포맷으로 남길지 결정

 

%p : debug, info, warn, error, faral 등의 순위가 출력
%m : 로그 내용이 출력
%d : 로깅 이벤트 발생한 시간을 기록. 형태는 %d{HH:mm:ss, SSS} 와 같은 형태로 사용하며 SimpleDateFormat 에 따른 포맷팅한다.
%t : 로그이벤트가 발생된 쓰레드 이름을 출력
%n : 플랫폼 종속적인 개행 문자가 출력
%c : 카테고리 표시
%C : 클래스 명 표시
%F : 로깅이 발생한 프로그램 파일명을 나타냄
%l : 로깅이 발생한 caller의 정보
%L : 로깅이 발생한 caller의 라인수
%M : 로깅이 발생한 method 이름
%r : 어플리케이션 시작 이후 부터 로깅이 발생한 시점의 시간


 

'Java2EE Framework > Logging' 카테고리의 다른 글

Log4j 를 사용한 예제  (0) 2010.06.12
웹 애플리케이션에 Log4j 적용  (0) 2010.06.12
로깅 프레임워크 Log4j  (0) 2010.06.12