반응형

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

반응형
반응형

이클립스에서 jsp 파일 작성시
아래와 같이 ISO-8859-1 어쩌구 저쩌구 하면서 저장이 안되는 경우가 있다.

save could not be completed.
Reason:
some characters cannot be mapped using "ISO-8859-1" character encoding.
Either change the encoding or remove the characters which are not supported
by the "ISO-8859-1" character encoding.



구글에서 검색 후 해결 방법은

 

windows >Preferences > General > Content Types > Text > 파일 타입별로 지정

JSP > Default Encoding > EUC-KR 

[출처 : http://darky.egloos.com/2342814 ]

반응형

+ Recent posts