[java] SLF4J에서 로깅 메시지에 사용자가 정의한 ID를 포함하는 방법은 무엇인가요?

MDC는 스레드로컬을 사용하여 로그 이벤트에 맥락 정보를 추가할 수 있는 기능을 제공합니다. 맥락 정보는 이름-값의 페어로 구성되며, 사용자가 원하는 형식으로 사용할 수 있습니다. 사용자 ID를 MDC에 저장하고 로그 메시지에 포함시키기 위해 다음과 같은 방법을 따를 수 있습니다:

  1. MDC에 사용자 ID 설정하기:
    MDC.put("userId", userId); // userId는 사용자가 정의한 ID 값입니다.
    
  2. 로깅 메시지 작성하기:
    LOGGER.info("사용자 ID: {} - 로그 메시지 내용", MDC.get("userId"));
    

위의 예제에서 ‘userId’는 사용자가 정의한 ID를 나타내는 키입니다. 사용자 ID를 로깅 메시지에 삽입하려면 MDC.put() 메서드를 사용하여 MDC에 값을 설정하고, MDC.get() 메서드를 사용하여 값을 가져와서 로깅 메시지에 포함시킵니다.

이렇게 하면 로그 메시지가 기록될 때마다 사용자 ID가 함께 기록됩니다.