Spring Webflux project 에서 로그 추적성 제공하기

requirement

  • 로그에 추적가능한 id를 남기고 싶다.

  • 로그 호출 시 일일이 포함시키지 않고 자동으로 설정되게 하고 싶다.

  • MicroService 로 여러 서비스가 연계될때 동일한 식별자로 연결되게 하고 싶다.


related object

  • Spring Boot uses Micrometer Observation

  • Facade 역할을 하는 Micrometer 를 이용하여 tracing 구현체에 따라 적용 가능. (openzipkin, opentelemetry ... )

  • Webflux는 Reactive 수행으로 Thread간 이동이 빈번하여 Tracing Context Propagation 이 필수

  • Spring Boot Actuator 와 결합하여 간단한 설정만으로 기능 제공


implementation

build.gradle

dependencies {  
    ...  
    implementation org.springframework.boot:spring-boot-starter-actuator  
    // case 1 for  OpenZipkin Brave
    implementation 'io.micrometer:micrometer-tracing-bridge-brave'
    // case 2 for opentelemetry
    // implementation 'io.micrometer:micrometer-tracing-bridge-otel'
    ...  
}

or logback-spring.xml

<pattern>... %X{traceId:-NONE} ... </pattern>


example

2024-06-08T20:38:08.217+02:00  INFO [94739f90c9e13ec3a7048d5dfba4c499,61c824a2d63bbe99] 1234 --- [ctor-http-nio-2] lepffm.Service2Controller    : logging...


남기는 말

servlet project 인 경우 spring.reactor.context-propagation 만 제거하면 됨


reference

https://docs.spring.io/spring-boot/reference/actuator/observability.html

https://docs.spring.io/spring-boot/reference/actuator/tracing.html

https://micrometer.io/docs/tracing


원문

https://github.com/lepffm/issuance/issues/176

Observability :: Spring Boot

spring.io

Observability :: Spring Boot

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 6월 8일 오전 2:07

댓글 0

    함께 읽은 게시물

    포트폴리오는 장기자랑이다

    

    ... 더 보기

    꾸준함이 한계를 뚫는다...250728

    1.●고통속에서 무엇을 배우냐는 선택이다.
    2.●내가 행복해야 남도 행복하게 해줄수 있다.

    ... 더 보기

    조회 91


    Next.js 앱을 쿠버네티스에 배포하기 (feat. ArgoCD)

    ... 더 보기

    Next.js 앱을 쿠버네티스에 배포하기 (feat. ArgoCD) | 요즘IT

    요즘IT

    Next.js 앱을 쿠버네티스에 배포하기 (feat. ArgoCD) | 요즘IT

    MCP 모르면 대체 얼마나 손해 보는 걸까?🤔

    ... 더 보기

    MCP 모르면 대체 얼마나 손해 보는 걸까? | 요즘IT

    요즘IT

    MCP 모르면 대체 얼마나 손해 보는 걸까? | 요즘IT

     • 

    댓글 1 • 저장 25 • 조회 2,888


    😘🐍 어랏? 아이가 파이썬 재밌다네요 ㅋㅋ

    ... 더 보기

    자바 25를 사용해야 하는 이유

    ... 더 보기

    곧 출시될 자바 25는 가능한 빨리 도입하세요

    kr.linkedin.com

    곧 출시될 자바 25는 가능한 빨리 도입하세요

     • 

    저장 15 • 조회 1,441