ConversionPattern 패턴 문자열 정의
%c (소문자) : 로그 메시지의 카테고리 명
- precision specifier 사용 가능 : precision의 기준으로 '.'을 기준으로 우측을 기준으로 함. specifier를 주지 않으면 Full Name
- ex) aaa.bbb.ccc => %c{2} => "bbb.ccc", %c{1} => "ccc"
%C (대문자) : 로그 모듈을 호출한 클래스의 FQCN
- precision specifier 사용 가능 %c(소문자)와 동일한 rule 적용됨.
%d (소문자) : 날자 포맷 정의
- date format specifier 사용 가능 : %d{date_pattern} 으로 사용함.
- date pattern은 SimpleDateFormat의 포맷과 동일한 포맷을 사용 가능함.
- date pattern이 정의되지 않은 경우 ISO8601 포맷을 사용함.
- date pattern에 ABSOLUTE, ISO8601, DATE의 문자열로 정의 가능
%F (대문자) : 로그 기록을 호출한 클래스의 파일 명 (.java 의 확장자 까지 나옴)
- 이 기능은 성능에 큰 저하를 가져옴.
%l (소문자) : 로그를 호출한 파일의 위치를 기록함.
- ex) com.ntechs.nbf.log.Log4JWriter.debug(Log4JWriter.java:235)
- JVM의 구현체에 따라 다를 수 있음. 일반적으로 FQCN과 method 명, File 명 : Line Number 가 나옴.
%L (대문자) : 로그를 호출한 Caller 소스의 Line 번호.
- 이 기능은 성능에 큰 저하를 가져옴.
%m (소문자) : 로그 메시지
%M (대문자) : 로그를 호출한 Caller 메소드 명
%n (소문자) : 플래폼 의존적인 Line Separator
%p (소문자) : 로그의 Priority 문자열 - DEBUG, INFO, ERROR 등.
%r (소문자) : 레이아웃에 따라서 로그 문자열을 생성하는데 걸린 시간 경과 시간 (elapsed)
- 밀리세컨드 단위
%t (소문자) : 로그 이벤트를 생성한 쓰레드 명.
%x (소문자) : 쓰레드와 관련된 NDC (Nested Diagnotic Context)
%X (대문자) : 쓰레드와 관련된 MDC (Mapped Diagnotic Context)
%% : % 문자를 로그에 기록할 때 사용
Conversion Pattern 정렬
"-" 문자를 사용하여 Left 정렬을 할 수 있다 지정되지 않은 경우에는 우측 정렬이 된다.
%[-][a].[b]와 같이 문자열을 지정하면 출력되는 문자의 포맷을 컨트롤 할 수 있다.
"-" : 우측/좌측 정렬 여부. "-'을 붙이면 좌측 정렬이 되고, 아니면 기본으로 우측 정렬이 됨. (
[a] 값이 정의되어야 사용이 가능하며 기록할 문자열이 "10" 자인 경우 "%20C" 와 같이 설정을 하면 %C에 의한 문자열이 20자 이하인 경우에는 문자열을 우측으로 정렬을 하고 20자를 생성해준다. "%-20C"이면 좌측으로 정렬되고 20 byte의 문자열이 만들어진다. 빈 공간은 공백으로 처리된다.
[a] : 로그 문자열이 지정된 a 값 보다 작은 경우에 Padding을 맞추어 준다. 즉 a=10인 경우 기록될 문자열이 5자이면 공백으로 5자가 만들어진다.
[b] : 로그 문자열이 지정된 b 값 보다 작은 경우에는 상관 없지만 큰 경우에는 지정된 b 값만큰만 문자열을 커팅 한다. 단 커팅의 기준은 우측기준이 된다. 즉 "12345"이고 b=3인 경우에는 "345" 문자열이 기록된다.
Conversion
Character |
Effect |
c | 클래스 명 예 ) %c{2} : "a.b.c" 는 "b.c". |
C | 클래스 명 예) %C{1} : org.apache.xyz.SomeClass → SomeClass |
d | 날짜 형식 예 ) %d{dd MMM yyyy HH:mm:ss,SSS} , %d{HH:mm:ss,SSS} |
F | 파일 명 |
l | 이벤트를 발생시킨 Caller의 위치정보 |
L | 이벤트를 발생시킨 Caller의 라인번호 |
m | 이벤트 메세지 |
M | 이벤트를 발생시킨 Caller의 함수명 |
n | 라입구분자 |
p | 로그이벤트 우선순위 |
r | Application이 시작된 이후, 이벤트가 발생될 때까지 시간( milliseconds ) |
t | 스레드의 이름을 출력 |
x | NDC(nested diagnostic context)의 사용하기 |
X | MDC (mapped diagnostic context) 사용하기 예) %X{clientNumber} : clientNumber는 Key를 의미함 |
% | %%는 화면에 %를 출력함 |
MDC vs NDC
원문 : wiki.apache.org/logging-log4j/NDCvsMDC
'Program > Tool' 카테고리의 다른 글
[ Eclipse Properties 한글 파일 깨짐 현상 ] (0) | 2011.01.18 |
---|---|
[ APM 셋팅 손쉽게 하는 방법 ] (0) | 2010.05.08 |
[ Cygwin 에서 한글 보이게 하는 방법 ] (2) | 2010.04.05 |
Eclipse author 기능 자동설정 (0) | 2010.03.31 |
[ Eclipse Encoding 설정 ] (0) | 2010.02.10 |