[스프링] 분산 추적을 위한 로깅 설정 방법은?
로깅 설정
스프링 애플리케이션에서 분산 추적을 위한 로깅을 설정하려면 주로 SLF4J와 Logback을 사용합니다.
Maven 종속성 설정
먼저, pom.xml
파일에 SLF4J와 Logback의 Maven 종속성을 추가합니다.
<dependencies>
<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>
</dependencies>
Logback 설정 파일
다음으로, src/main/resources
폴더에 logback.xml
파일을 생성한 후 분산 추적을 위한 로깅 설정을 추가합니다. 예를 들어, 로그를 stdout
와 파일에 기록하도록 설정할 수 있습니다.
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>app.log</file>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="debug">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>
</configuration>
위의 설정은 로그를 콘솔(STDOUT
)과 app.log
파일에 날짜, 쓰레드, 로그 레벨, 로거 이름, 메시지를 기록하도록 합니다.
분산 추적 시스템(예: Zipkin)과 연동하려면 해당 시스템에서 제공하는 라이브러리를 추가하고 로깅 설정을 업데이트해야 합니다. 자세한 내용은 각 분산 추적 시스템의 공식 문서를 참고하시기 바랍니다.
분산 추적을 위한 스프링 애플리케이션의 로깅 설정은 이렇게 간단합니다!