log Level 정의

 FATAL : 가장 크리티컬한 에러가 일어 났을 때 사용합니다.
 ERROR : 일반 에러가 일어 났을 때 사용합니다.
 WARN : 에러는 아니지만 주의할 필요가 있을 때 사용합니다.
 INFO : 일반 정보를 나타낼 때 사용합니다.
 DEBUG : 일반 정보를 상세히 나타낼 때 사용합니다.

ConversionPattern 사용 방법

 %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)를 출력합니다.

log4j.properties 파일 사용 예

log4j.rootLogger=INFO, stdout, rolling

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[COTAMOT] %5p,[%d],[%t],(%F:%L),%m%n
log4j.appender.stdout.target=System.err

#rolling 어펜더는 파일로 처리한다라고 정의
 log4j.appender.rolling=org.apache.log4j.DailyRollingFileAppender
#로그 파일 이름은 output.log
 log4j.appender.rolling.File=output.log
#true면 WAS를 내렸다 올려도 파일이 리셋되지 않습니다.
 log4j.appender.rolling.Append=true
#파일 최대 사이즈는 500KB로 설정
 log4j.appender.rolling.DatePattern='.'yyyy-MM-dd
#rolling 어펜더는 패턴 레이아웃을 사용하겠다고 정의
 log4j.appender.rolling.layout=org.apache.log4j.PatternLayout
#rolling 어펜더는 패턴 레이아웃 포맷
 log4j.appender.rolling.layout.ConversionPattern=[COTAMOT] %5p,[%d],[%t],(%F:%L),%m%n

출처 : placebo4me.egloos.com