#log4j.rootLogger=DEBUG,console,INFO, web
#log4j.rootLogger = INFO, stdout
#핸들러의 로깅레벨 : SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST, ALL
log4j.rootLogger=CONSOL , DEBUG , ERROR , SYSTEM , WARN , WEB
log4j.appender.CONSOL=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOL.Append=true
log4j.appender.CONSOL.ImmediateFlush=true
log4j.appender.CONSOL.Threshold=INFO
log4j.appender.CONSOL.DatePattern='.'yyyy-MM-dd
log4j.appender.CONSOL.MaxFileSize=20MB
log4j.appender.CONSOL.MaxBackupIndex=10
#Layout 형식 : TTCCLayout, HTMLLayout, XMLLayout, PatternLayout, SimpleLayout
#PatternLayout, SimpleLayout - 자바의 Throwable 에러들과 예외를 무시한다
log4j.appender.CONSOL.layout=org.apache.log4j.PatternLayout
#소스코드의 위치정보를 출력한다. %C. %M(%F:%L) 의 축약형이다 / %d %-5p [%t] %-17c{2} (%13F:%L) %3x - %m%n
log4j.appender.CONSOL.layout.ConversionPattern=[%-5p] %d{HH:mm:ss} [%c] [time: %r] - %m%n
# 로그파일 경로.
log4j.appender.CONSOL.File=${catalina.home}/logs/tomcat.consol.log
#[%d{yyyy-MM-dd}형식은 프로그램의 실행속도를 느리게 함으로 SimpleDateFormat 형식지정한다
log4j.appender.CONSOL.layout.DateFormat=ISO8601
#[YYYY-MM-DD HH:MM:SS, mm] 형식을 뜻한다.
log4j.appender.CONSOL.layout.TimeZoneID=GMT-8:00
#매일 자정에 로그파일을 교체하며 기존파일은 xx.log_2004.07.12 org.apache.log4j.ConsoleAppender , DailyRollingFileAppender
log4j.appender.SYSTEM=org.apache.log4j.RollingFileAppender
log4j.appender.SYSTEM.Append=true
log4j.appender.SYSTEM.DatePattern='.'yyyy-MM-dd
log4j.appender.SYSTEM.Threshold=INFO
log4j.appender.SYSTEM.ImmediateFlush=true
log4j.appender.SYSTEM.MaxFileSize=20MB
log4j.appender.SYSTEM.MaxBackupIndex=10
#자바의 Throwable 에러들과 예외를 포함하기 위해 HTMLLayout을 사용한다.
log4j.appender.SYSTEM.layout=org.apache.log4j.PatternLayout
#[%d{yyyy-MM-dd}형식은 프로그램의 실행속도를 느리게 함으로 SimpleDateFormat 형식지정한다
log4j.appender.SYSTEM.layout.DateFormat=ISO8601
#[YYYY-MM-DD HH:MM:SS, mm] 형식을 뜻한다.
log4j.appender.SYSTEM.layout.TimeZoneID=GMT-8:00
#소스코드의 위치정보를 출력한다. %C. %M(%F:%L) 의 축약형이다 / %d{HH:mm:ss} %5p (%C{2} - %M:%L) - %m%n
log4j.appender.SYSTEM.layout.ConversionPattern=%d{dd-MM-yy HH:mm:ss:SSS} - {%p} %c{2} Thread [%t]; %x %m%n
# 로그파일 경로.
log4j.appender.SYSTEM.File=${catalina.home}/logs/tomcat.stdout.log
log4j.appender.WEB=org.apache.log4j.RollingFileAppender
log4j.appender.WEB.File=${catalina.home}/logs/tomcat.web.log
log4j.appender.WEB.MaxFileSize=20MB
log4j.appender.WEB.MaxBackupIndex=10
log4j.appender.WEB.layout=org.apache.log4j.PatternLayout
log4j.appender.WEB.layout.ConversionPattern=%p %t %c - %m%n
#log4j.appender.WEB.layout.ConversionPattern=[%-5p] %d{HH:mm:ss} [%c] [time: %r] - %m%n
#log4j.logger.org.apache.catalina=DEBUG, R
log4j.logger.org.apache.catalina.core=INFO
log4j.logger.org.apache.catalina.session=INFO
log4j.logger.org.apache.jasper.compiler=INFO
# 로그 포멧 정리
로그자체를 어떤 포맷으로 남길지 결정합니다.
layout에는 HTMLLayout, PatternLayout, SimpleLayout, XMLLayout등이 있으며 PatternLayout이 일반적으로 가장 많이 쓰입니다.
형식 | 설명 |
%p | debug, info, warn, error, fatal 등의 priority 가 출력된다. |
%m | 로그내용이 출력됩니다 |
%d | 로깅 이벤트가 발생한 시간을 기록합니다. 포맷은 %d{HH:mm:ss, SSS}, %d{yyyy MMM dd HH:mm:ss, SSS}같은 형태로 사용하며 SimpleDateFormat에 따른 포맷팅을 하면 된다 |
%t | 로그이벤트가 발생된 쓰레드의 이름을 출력합니다. |
%% | % 표시를 출력하기 위해 사용한다. |
%n | 플랫폼 종속적인 개행문자가 출력된다. \r\n 또는 \n 일것이다. |
%c | 카테고리를 표시합니다 예) 카테고리가 a.b.c 처럼 되어있다면 %c{2}는 b.c가 출력됩니다. |
%C | 클래스명을 포시합니다. 예) 클래스구조가 org.apache.xyz.SomeClass 처럼 되어있다면 %C{2}는 xyz.SomeClass 가 출력됩니다 |
%F | 로깅이 발생한 프로그램 파일명을 나타냅니다. |
%l | 로깅이 발생한 caller의 정보를 나타냅니다 |
%L | 로깅이 발생한 caller의 라인수를 나타냅니다 |
%M | 로깅이 발생한 method 이름을 나타냅니다. |
%r | 어플리케이션 시작 이후 부터 로깅이 발생한 시점의 시간(milliseconds) |
%x | 로깅이 발생한 thread와 관련된 NDC(nested diagnostic context)를 출력합니다. |
%X | 로깅이 발생한 thread와 관련된 MDC(mapped diagnostic context)를 출력합니다. |
예시) (같은 색끼리 보시면 됩니다)
위의 test.jsp를 다음 포맷으로 출력해본다면
[%c] [%C] [%d] [%F] [%l] [%L] [%m] [%M] [%n] [%p] [%r] [%t] [%x] [%X]는 다음과 같다
[test.jsp] [org.apache.jsp.test_jsp] [2005-03-10 12:37:23,561] [test_jsp.java] [org.apache.jsp.test_jsp._jspService(test_jsp.java:64)] [64] [fatal!!] [_jspService] [개행] [FATAL] [765567] [http-8080-Processor25] [] []
'백엔드기술 > 개발언어' 카테고리의 다른 글
jackson 라이브러리 (0) | 2012.10.23 |
---|---|
HTTPS 로그인 기반 웹수집 샘플 코드 (1) | 2012.08.01 |
JAVA 7 기능 (0) | 2012.04.20 |