Java2012. 6. 25. 21:33

Log를 과리를 잘하기 위해서 존재하는 프레임워크가 바로 Log4j다.


자 간단하게 log4j.properties 설정 법에 대해서 설명하겠다.


뭐 사실 설명하고 싶은건 일별로 로그 파일을 관리 할 때의 방법이다.


log4j.rootLogger=DEBUG, stdout, logfile

전체 적인 로그의 레벨을 정한다.


# Console

이클립스의 콘솔에 찍힐 로그를 정한다.

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - <%m>%n

# LogFile

파일에 쓸 로그의 내용을 정한다.

log4j.appender.logfile.Threshold=DEBUG

파일에 쓸 로그의 레벨을 정한다.
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender

하나의 파일에 계속해서 로그를 쌓을 것인지 매일매일 다른 파일에 로그를 쌓을것인지를 정한다.
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.DatePattern='.'yyyy-MM-dd'.log'

매일 매일 다른 파일에 로그를 쌓을 때 파일 이름의 규칙을 정한다.

위와 같은 형식으로 설정 할 경우 자정이 지나면 파일을 새로 생성한다.

검색해보면 DatePattern에 따라서 파일 하나에 기록할 것인지 하루에 정오와 자정에 나눠서 파일에 기록 할 것인지..

등등에 대해서 나눠 설정 할 수 있다.

log4j.appender.logfile.layout.ConversionPattern=%d %-5p [%t] %-17c{2} (%13F:%L) %3x - %m%n

파일에 기록 할 내용을 지정한다.

자세한 옵션은 검색 하면 많이 나온다.

log4j.appender.logfile.File=/Users/Jeonjinkang/Documents/workspace/ChannelTalk/WebContent/WEB-INF/logs/logfile

저장 할 파일의 위치와 이름을 지정한다.


여기서 중요한 것은 위와 같이 설정을 하고 서버를 돌리면 서버가 돌아가는 순간부터 Log파일에 기록이 된다.

Log파일을 찾아 보면 logfile라는 이름의 Log파일이 생겼을 것이다.

뭔가 이상하다..

나는 분명 설정에서 logfile라는 파일 이름과 그뒤에 '.'yyyy-MM-dd'.log'라는 파일 명명 규칙을 줬는데 왜 이렇게 밖에 생성을 못하는 것일까??

제대로 생성이 된다면 logfile.2012-06-25.log라는 파일이 생겨야 하는것이 아닌가??

그만 고민하자..그날 당일에 생긴 파일은 File에 설정한 이름대로 파일이 생기고 자정이 넘어가야만 DatePattern에 설정한 파일명이 붙는 단다..

설정한대로 안되서 2시간동안 검색하고 했는데 이런 결과가..

일단 기본적인 설정 방법은 설명했다.

다음엔 Spring FrameWork에 Log4j를 구동하기 위한 설정에 대해서 설명해 보겠다.

'Java' 카테고리의 다른 글

json-lib-2.4-jdk15.jar  (0) 2012.08.24
Log4j의 Appender..!  (0) 2012.06.26
Java Compile Version Error..!  (0) 2012.03.15
Java의 문자열 비교..!  (0) 2011.10.04
Java - Lotto(로또)  (0) 2009.10.14
Posted by Z700zZz