Spring Boot, 비동기 쓰레드에서 호출 쓰레드의 MDC 보존하기
개요 org.slf4j.MDC 클래스는 애플리케이션의 로그에 담을 정보를 저장할 수 있는 일종의 로그 정보 저장소로 유용하게 사용된다. MDC의 특징은 ThreadLocal에 의해 현재 쓰레드 범위 내에서만 사용할 수 있다는 것인데, 문제는 다른 쓰레드에서 실행되는 비동기 실행시 새로운 MDC 영역을 가지게 되어 호출한 쓰레드와의 연관성을 로그로 남기는 것이 불가능하다는 문제점이 있다. 해결책이 없는 것은 아니다. 비동기 실행시 제공될 쓰레드를 관리하는 org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor에 쓰레드 실행시 MDC를 복제해주는 로직을 삽입하면 된다. 이번 글에서는 이 방법을 설명하고자 한다. 기존 문제점 비동기 쓰레드와 호출한 ..
SW 개발/Spring
2019. 4. 8. 08:35
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Eclipse
- MySQL
- jstl
- JHipster
- 알뜰폰
- jpa
- kotlin
- 평속
- JavaScript
- 구동계
- 태그를 입력해 주세요.
- node.js
- Spring Boot
- java
- 자전거
- Spring MVC 3
- CentOS
- 로드바이크
- DynamoDB
- bootstrap
- Tomcat
- jsp
- Kendo UI
- chrome
- Kendo UI Web Grid
- graylog
- maven
- spring
- 로드 바이크
- Docker
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
글 보관함