..
log4j
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

[출처]
http://mudchobo.tomeii.com/tt/251
http://tjswjd56.springnote.com/pages/1669758
http://wiki.dev.daewoobrenic.co.kr/mediawiki/index.php/%EB%A1%9C%EA%B9%85
http://levin01.tistory.com/1046
http://pcguy7.springnote.com/pages/892488

1. 정의
로그를 보여주는 프로그램.

2. 설치
log4j-1.2.15.jar 파일 다운 주소 : http://logging.apache.org/log4j/1.2/download.html

log4j.properties 파일 생성

log4j.rootLogger : 전체 레벨 설정값 . 따로 레벨을 지정하지 않으면 이 설정값을 따른다.
예) INFO 레벨 이므로 DEBUG 이상의 로그만 console에 표시하겠다는 뜻.

log 레벨 : DEBUG < INFO < WARN < ERROR < FATAL
완성된 어플리케이션에서는 출력되지 않아야 할 디버깅 메세지들을 쓰기위해 debug 를 사용하라.
어플리케이션의 verbose 모드에서 출력될만한 메세지들을 로깅하기 위해 info 를 사용하라.
어플리케이션이 이상없이 계속 실행될 수 있는 정도의 경고메세지를 로깅하기 위해 warn 을 사용하라.
어플리케이션이 그럭저럭 돌아갈만한 정도의 에러메세지를 로깅하기 위해 error 를 사용하라.
예를들어 관리자에 의해 주어진 설정인자가 올바르지 않아 하드코딩된 기본값을 사용해야 할 경우.
로깅후에 애플리케이션이 비정상적으로 종료될 치명적인 메세지를 로깅하기 위해 fatal 을 사용하라.

log4j.appender.console=org.apache.log4j.ConsoleAppender 
- 콘솔에 로그를 찍어 줄때 필요한 클래스 설정

log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender 
- glv.log 로그 파일 하나만 존재 하는 것이 아니라 매일 지날때마다 백업본 생성 : glv.log.2010-03-11
- glv.log 항상 최신의 로그
 
log4j.appender.logfile.layout.ConversionPattern
- 로그 뿌려줄때 레벨이 뭔지, 클래스 명이 뭔지, 에러 메시지가 뭔지.. 등을 콘솔에 찍어주는 클래스
 
# log level and appender 
다음에 오는 내용은 패키지명이나 클래스명을 지정하고 로그레벨과 출력할 로그를 지정

ConversionPattern
- %m : 당신이 지정한 메세지를 출력
- %p : 로깅 이벤트의 priority 를 출력
- %r : 어플리케이션이 시작되어 로깅이벤트가 일어날때까지의 경과시간을 밀리세컨드 값으로 출력
- %c : 로깅이벤트의 category를 출력한다. 예를 들어 category 이름이 "a.b.c" 일때 %c{2} 는 "b.c"를 출력하며
        {2}는 도트(.)로 구분된 category 이름의 마지막 두개의 컴포넌트를 의미한다.
        {n} 이 없으면 기본적으로 카테고리의 이름을 모두 출력한다.
- %t : 로깅 이벤트를 생성한 스레드 이름을 출력
- %x : 로깅이벤트를 발생시킨 스레드에 관련된 내포검사항목(Nested Diagnostic Context : NDC)을 출력한다.
        Java Servlet 과 같이 다수의 클라이언트가 분산된 스레드에 의해 다루어 질 때 유용하다.
- %n : 플랫폼 독립적인 개행문자를 출력한다. "\n" 또는 "\n\r" 등이 지정될 수 있다.
- %% : 하나의 % 기호를 출력한다. 

경고 : 아래의 형식은 프로그램의 실행속도를 느리게 한다.
- %d : 로깅이벤트가 일어난 날자(date)을 출력한다.
        date 변환 지정자는 날짜형식 지정자 뒤에 이어 나오는 brace({..}) 사이에 둘러쌓여 나온다.
        예: %d{HH:mm:ss,SSS} 또는 %d{dd MMM yyyy HH:mm:ss,SSS}
        만약 날자 형식 지정자가 주어져있지 않다면 ISO8601 형식으로 나타난다. 날짜형식 지정자는 자바의 속도가
        느린 SimpleDateFormat 클래스의 시간형식 문자열과 같은 문법을 수용했다.
        더 빠른 성능을 위해 %d{ISO8601}, %d{ABSOLUTE}, %{RELATIVE}(프로그램 시작 후 경과시간의
        밀리세컨드값을 나타내며 가장 빠르다) 또는 %d{DATE} 를 사용하며 각각은
        log4j의 ISO8601DateFormat, AbsoluteTimeDateFormat, RelativeTimeDateFormat, DateTimeDateFormat
        날자형식을 사용한다.
- %l : 소스코드의 위치정보를 출력한다. %C. %M(%F:%L) 의 축약형이다.
- %C : 로깅요청을 일으킨 호출자의 완전한 클래스이름을 출력한다.
        예를들어 "org.apache.xyz.SomeClass"라는 클래스 이름이 있을때, %C{1} 은 "SomeClass"를 출력한다.
        {1} 는 "완전한 클래스이름의 마지막 하나의 구성요소를 출력하라" 는 뜻이다. 만약 {n} 이 없다면
        기본적으로 완전한 클래스 이름을 출력한다.
- %M : 로깅요청을 일으킨 메소드를 출력한다.
- %F : 로깅요청을 일으킨 파일 이름을 출력한다.
- %L : 로깅요청을 일으킨 곳의 행번호를 출력한다.

'DEV > 개발관련 툴' 카테고리의 다른 글

Content is not allowed in prolog.  (0) 2010.04.28
tomcat vm arguments : permsize  (0) 2010.02.19
Block Selection Mode  (0) 2010.02.08
  Comments,     Trackbacks