[java] 자바 배치 프로세싱에서의 작업 로깅 방법은 어떻게 되는가?

SLF4J(Logback)를 이용한 작업 로깅 설정

  1. 의존성 추가: 먼저 Maven 또는 Gradle을 통해 SLF4J와 Logback의 의존성을 추가합니다.

    Maven:

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>{version}</version>
    </dependency>
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>{version}</version>
    </dependency>
    
  2. 로깅 설정 파일 생성: Logback을 사용하기 위해 logback.xml이라는 설정 파일을 프로젝트에 추가합니다.

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <appender name="FILE" class="ch.qos.logback.core.FileAppender">
            <file>batch.log</file>
            <encoder>
                <pattern>%date %level [%thread] %logger{10} [%file:%line] - %msg%n</pattern>
            </encoder>
        </appender>
        <root level="info">
            <appender-ref ref="FILE" />
        </root>
    </configuration>
    

    위의 설정은 batch.log 파일에 로그를 기록하며, 로그 형식은 날짜, 로그 레벨, 스레드, 로거, 파일:라인, 메시지의 형식으로 기록됩니다.

  3. 로깅 코드 추가: 배치 작업의 각 단계에서 로깅을 추가하여 실행 상태를 기록합니다.

    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    public class MyBatchJob {
        private static final Logger logger = LoggerFactory.getLogger(MyBatchJob.class);
    
        public void process() {
            logger.info("배치 작업 시작");
            // 작업 수행
            if (errorCondition) {
                logger.error("에러 발생: 상세 내용");
            }
            logger.info("배치 작업 완료");
        }
    }
    

위의 단계를 따르면 SLF4J와 Logback을 사용하여 자바 배치 프로세싱에서 작업 로그를 생성하고 관리할 수 있습니다.