[java] Log4j의 로그 메시지 형식 설정 방법

Log4j는 Java 애플리케이션에서 로깅을 처리하는 데 유용한 라이브러리입니다. 이를 통해 로그를 더 쉽게 관리하고 디버깅을 용이하게 할 수 있습니다. Log4j의 로그 메시지 형식을 설정하는 방법을 알아보겠습니다.

1. Log4j 의존성 추가하기

먼저, Maven 또는 Gradle 같은 빌드 도구를 사용하여 프로젝트에 Log4j의존성을 추가해야 합니다. 이를 위해 pom.xml 또는 build.gradle 파일에 Log4j 의존성을 추가하는 코드를 작성합니다.

Maven을 사용하는 경우:

<dependency>
  <groupId>org.apache.logging.log4j</groupId>
  <artifactId>log4j-core</artifactId>
  <version>2.14.1</version>
</dependency>

Gradle을 사용하는 경우:

implementation 'org.apache.logging.log4j:log4j-core:2.14.1'

위의 코드에서 버전은 최신 버전으로 대체해야 합니다. Maven Central Repository 또는 Log4j 공식 웹 사이트에서 최신 버전을 확인할 수 있습니다.

2. log4j2.xml 파일 생성하기

Log4j의 로그 메시지 형식을 설정하기 위해 log4j2.xml 파일을 프로젝트에 생성해야 합니다. 이 파일은 Log4j가 로깅 구성을 읽어올 때 사용됩니다.

다음은 log4j2.xml 파일의 예입니다.

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn">
  <Appenders>
    <Console name="Console" target="SYSTEM_OUT">
      <PatternLayout pattern="[%-5p] %d{ISO8601} [%t] %c{1} - %msg%n" />
    </Console>
  </Appenders>
  <Loggers>
    <Root level="info">
      <AppenderRef ref="Console" />
    </Root>
  </Loggers>
</Configuration>

위의 예제에서는 콘솔 출력을 기반으로하는 로깅 구성을 정의합니다. PatternLayout 엘리먼트를 사용하여 로그 메시지 형식을 지정합니다. %p는 로그 레벨을, %d{ISO8601}는 로그 시간을, %t는 스레드 이름을, %c는 로그 위치 (클래스 이름)를 나타냅니다. %msg%n은 실제 로그 메시지와 줄 바꿈으로 구성됩니다.

3. 로그 메시지 형식 적용하기

로그 메시지 형식 설정이 완료되었으므로 이를 Java 애플리케이션에 적용해야 합니다. 이를 위해 Log4j 라이브러리를 사용하고 Logger 객체를 초기화하는 코드를 작성해야 합니다.

다음은 로그 메시지를 출력하는 예입니다.

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class MyApp {
    private static final Logger logger = LogManager.getLogger(MyApp.class);

    public static void main(String[] args) {
        logger.info("Hello, Log4j!");
    }
}

위의 예제에서는 LogManager.getLogger() 메서드를 사용하여 Logger 객체를 가져옵니다. MyApp.class는 현재 클래스의 이름을 전달합니다. logger.info() 메서드를 사용하여 로그를 출력합니다.

그러면 Log4j가 log4j2.xml 파일을 참조하고 로그 메시지의 형식을 설정하게 됩니다.

이제 Log4j를 사용하여 Java 애플리케이션에서 로그 메시지의 형식을 설정할 수 있습니다. Customize한 로그 형식을 사용하면 로그를 읽거나 분석하는 데 도움이 되며, 애플리케이션의 디버깅과 유지보수 과정에서 큰 도움이 될 것입니다.

참고 자료