달력

4

« 2024/4 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
2009. 1. 15. 16:09

log4j 사용해서 로깅하기 그거/Java2009. 1. 15. 16:09


개인적으로 개발할 때 로그를 찍어보는 것이 그 어떤 디버깅 툴보다 좋다고 생각한다.
예전에 개발할 때는 System.out.println()을 이용해서 화면에 로그를 잔뜩 찍으면서 개발하곤 했다.
System.out.println()은 화면에만 찍어댔기 때문에, 파일에 로그를 찍도록 하려면 Logger를 만들었어야 했다.
하지만. 이 얼마나 좋은 세상인가..  Log4J 라는 Logging 전문(?) API가 있으니..야호호~ 오픈소스 만세~~
log4j를 알게된건 한~~참 전이나.. 지금 포스팅을 하는 이유는...... 여탠 귀찮아서 안했다가.
까먹기 전에 간단하게라도 써놓고자.. 캬캬.

Log4J library는 어디서든 다운로드가 가능하지 검색을 이용할지어다~~
귀찮으면 http://logging.apache.org/log4j/1.2/download.html 여기 클릭. ㅎㅎ

자세한건 Log4J 관련 문서를 읽어보면 되고. 여기서는 정말 초간단하게 설명을 하려고 한다.

1. 다운로드 받은 log4j library를 classpath에 둔다.
2. Log4J 설정 파일을 작성한다.(작성된게 있으면 카피한다. ㅋㅋ)
    log4j.xml, log4j.properties 등의 이름이 되겠다.

log4j.properties
log4j.rootLogger=DEBUG
log4j.logger.Lucky=DEBUG,Lucky

# 화면에 출력
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p ({%t} %F[%M]:%L) [%d] - %m%

# 파일에 출력(하루에 하나씩)
log4j.appender.Lucky.Threshold = DEBUG
log4j.appender.Lucky= org.apache.log4j.DailyRollingFileAppender
log4j.appender.Lucky.File = /WebAppl/logs/logfile.log
log4j.appender.Lucky.layout = org.apache.log4j.PatternLayout
log4j.appender.Lucky.layout.ConversionPattern=%5p ({%t} %F[%M]:%L) [%d] - %m%n
log4j.appender.Lucky.Append=true
log4j.appender.Lucky.DatePattern='.'yyyyMMdd

3. 작성한 설정 파일을 classpath에 둔다.(웹 어플은 WEB-INF/classes 밑에 놓으면 되겠다.)
4. 사용한다.
사용법
import org.apache.log4j.Logger;

public class LoggerTest {
    // Log4J Instance 생성
    private Logger logger = Logger.getLogger("Lucky");

    public void doIt() {
        logger.info("start doIt=====>>>>>");
        int i = 0;
        String a = null;
        try {
         logger.debug("Integer.parseInt");
            i = Integer.parseInt(a);
        } catch (Exception ex) {
            logger.error("exception occurred > ", ex);
        }
        logger.info("end doIt=====>>>>>");
    }
}

# logger.info, logger.debug, logger.error 등이 있으니, 자세한 사용법은 Log4J 문서를 참고~~
:
Posted by 뽀기