[java] SLF4J에서 로깅 메시지에 성능 측정 결과를 추가하는 방법은 무엇인가요?

아래는 SLF4J를 사용하여 로그 메시지에 성능 측정 결과를 추가하는 예제 코드입니다:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class ExampleClass {
    private static final Logger logger = LoggerFactory.getLogger(ExampleClass.class);

    public void doSomething() {
        long startTime = System.currentTimeMillis();

        // 작업 수행

        long endTime = System.currentTimeMillis();
        long executionTime = endTime - startTime;

        logger.info("작업이 완료되었습니다. 수행 시간: {}ms", executionTime);
    }
}

위의 예제에서는 doSomething 메소드 내에서 작업을 수행하기 전과 후에 시간을 측정하여 executionTime 변수에 저장합니다. 그리고 logger.info 메소드를 사용하여 로그 메시지를 출력할 때 executionTime 변수를 포맷에 포함시킵니다.

이렇게 하면 로그에는 작업 수행 시간이 포함되어 출력됩니다.

참고로, SLF4J는 단순히 로깅을 위한 인터페이스이므로 실제 로깅 프레임워크로는 Logback, Log4j 등을 사용해야합니다. 이러한 로깅 프레임워크를 함께 사용할 경우 로그 메시지에 성능 측정 결과를 추가하는 방법은 동일합니다.