사용자 도구

사이트 도구


java:log4j:pattern

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
다음 판 양쪽 다음 판
java:log4j:pattern [2011/06/21 13:31]
kwon37xi
java:log4j:pattern [2013/04/12 10:34]
kwon37xi [패턴]
줄 1: 줄 1:
 ====== Log4j 로그 패턴 ====== ====== Log4j 로그 패턴 ======
 ===== 패턴 ===== ===== 패턴 =====
-* [[http://nuninaya.tistory.com/98]]에서 발췌 
-* %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  플랫폼 종속적인 개행문자가 출력된다. rn 또는 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)를 출력합니다. 
  
 +  * [[http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html|Log4j PatternLayout class]]
 +  * http://nuninaya.tistory.com/98 에서 발췌
 +  * %p  debug, info, warn, error, fatal 등의 priority 가 출력된다.
 +  * %m  로그내용이 출력됩니다
 +  * %d  로깅 이벤트가 발생한 시간을 기록합니다. 포맷은 %d{HH:mm:ss, SSS}, %d{yyyy MMM dd HH:mm:ss, SSS}같은 형태로 사용하며 [[http://download.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html|SimpleDateFormat]]에 따른 포맷팅을 하면 된다
 +    * %d{ABSOLUTE}
 +    * %d{DATE}
 +    * %d{ISO8601}
 +  * %t  로그이벤트가 발생된 쓰레드의 이름을 출력합니다.
 +  * %%  % 표시를 출력하기 위해 사용한다.
 +  * %n  플랫폼 종속적인 개행문자가 출력된다. rn 또는 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와 관련된 [[http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/MDC.html|MDC(mapped diagnostic context)]]를 출력합니다. ''%X{key}'' 형태.
 +
 +==== 공백 패딩 ====
 +  * ''%5p'' : 우측 정렬로 로그 레벨을 남김. 로그레벨이 5글자가 안되면 왼쪽에 공백을 추가하여 5글자 맞춤.
 +  * ''%-5p'' : 좌측 정렬.
  
 ====== hostname 패턴 확장 ====== ====== hostname 패턴 확장 ======
줄 23: 줄 31:
   * [[http://lifeinide.blogspot.com/2011/06/host-and-user-name-in-log4j-logs.html|Life in IDE: Host and user name in log4j logs]] : 패턴 확장으로 hostname과 username 추가하는 방법. 패턴 캐릭터 추가하는 방법 중에서 호스트네임 가져오는 부분만 발췌   * [[http://lifeinide.blogspot.com/2011/06/host-and-user-name-in-log4j-logs.html|Life in IDE: Host and user name in log4j logs]] : 패턴 확장으로 hostname과 username 추가하는 방법. 패턴 캐릭터 추가하는 방법 중에서 호스트네임 가져오는 부분만 발췌
  
-아래는 %h 패턴을 사용하여 호스트이름을 로그로 남겨줄 수 있도록 하는 PatternLayout 확장이다.+아래는 %h 패턴을 사용하여 호스트이름을 로그로 남겨줄 수 있도록 하는 PatternLayout 확장이다. 이것 말고 기본 [[http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html|PatternLayout]]을 사용하는 대신 거기에 [[java:log4j:mdc|Log4j MDC]]를 적용해도 가능하다. 하지만 MDC를 사용할 경우에는 MDC 소속 쓰레드에서만 Hostname이 정확히 남게 된다.
  
 웹 서비스들은 대부분 다중 서버로 운영되는 경우가 많다. 그럴 경우 어느 서버에서 나온 로그인지를 판단할 수 있는 방법이 필요하다. 그래서 호스트이름을 로그로 남긴다. 웹 서비스들은 대부분 다중 서버로 운영되는 경우가 많다. 그럴 경우 어느 서버에서 나온 로그인지를 판단할 수 있는 방법이 필요하다. 그래서 호스트이름을 로그로 남긴다.
줄 99: 줄 107:
 <appender name="consoleAppender" class="org.apache.log4j.ConsoleAppender"> <appender name="consoleAppender" class="org.apache.log4j.ConsoleAppender">
     <layout class="kr.pe.kwonnam.log4j.pattern.HostnamePatternLayout">     <layout class="kr.pe.kwonnam.log4j.pattern.HostnamePatternLayout">
-        <param name="ConversionPattern" value="%d %p %h %u [%c] - %m %n"/>+        <param name="ConversionPattern" value="%d %p %h  [%c] - %m %n"/>
     </layout>     </layout>
 </appender> </appender>
  
 </code> </code>
java/log4j/pattern.txt · 마지막으로 수정됨: 2015/11/15 16:18 저자 kwon37xi