[java] Log4j의 에러 로그 설정 및 사용

Log4j는 Java기반의 로깅 유틸리티로서, 애플리케이션에서 발생하는 로그를 캡처하고 출력하는 역할을 수행합니다. 이번 글에서는 Log4j를 사용하는 방법과 에러 로그를 설정하는 방법에 대해 알아보겠습니다.

Log4j 설정하기

  1. 먼저, Maven 또는 Gradle과 같은 빌드 툴에서 Log4j의 의존성을 추가합니다. Maven을 사용한다면, pom.xml 파일에 다음 의존성을 추가합니다.

    <dependencies>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
    </dependencies>
    
  2. Log4j 설정 파일인 log4j.properties 파일을 프로젝트의 리소스 디렉토리에 생성합니다.

    # Root Logger 설정
    log4j.rootLogger=DEBUG, FILE
    
    # 파일 출력 설정
    log4j.appender.FILE=org.apache.log4j.FileAppender
    log4j.appender.FILE.File=/path/to/log/file.log
    log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
    log4j.appender.FILE.layout.ConversionPattern=%d [%t] %-5p %c{1} - %m%n
    

    위의 설정에서는 로그 레벨을 DEBUG로 지정하고, 파일로 로그를 출력하도록 설정하였습니다. ConversionPattern 설정은 로그의 출력 형식을 지정하는데, 날짜, 스레드 ID, 로그 레벨, 로거 이름, 로그 메시지 등을 포함할 수 있습니다.

Log4j 사용하기

  1. 애플리케이션에서 Log4j를 사용하기 위해 다음과 같이 Logger 객체를 생성합니다.

    import org.apache.log4j.Logger;
    
    public class ExampleClass {
        private static final Logger logger = Logger.getLogger(ExampleClass.class);
        // ...
    }
    

    위의 예제에서는 ExampleClass에서 사용할 Logger를 logger라는 이름으로 정의하였습니다.

  2. 로그를 출력할 위치에서 다음과 같이 로그를 작성합니다.

    logger.debug("This is a debugging log message");
    logger.info("This is an informational log message");
    logger.warn("This is a warning log message");
    logger.error("This is an error log message");
    

    각각의 로그 레벨(DEBUG, INFO, WARN, ERROR)에 따라 해당 메시지가 적절한 로그 레벨로 출력됩니다.

참고 자료

Log4j를 사용하여 애플리케이션에서 발생하는 에러를 캡처하고 관리하는 것은 개발자에게 매우 유용합니다. 잘 구성된 Log4j 설정은 애플리케이션의 디버깅, 모니터링 및 유지보수에 큰 도움이 될 것입니다.