피드로 돌아가기
Dev.toBackend
원문 읽기
Zero-Code-Change 기반 Infrastructure-Level Stacktrace 필터링 구현
Zero-Code-Change Stacktrace Filtering for Spring Boot: An Infrastructure-Level Integration
AI 요약
Context
Spring Boot 환경에서 프레임워크 및 인프라 레이어의 과도한 노이즈로 인한 Stacktrace 가독성 저하 문제 발생. 기존의 개별 로깅 구문 수정 방식은 막대한 Refactoring 비용과 유지보수 일관성 결여라는 치명적 제약 존재.
Technical Solution
- Application Code 수정 없이 로깅 프레임워크 수준에서 처리하는 Infrastructure-Level Integration 설계
- Logback의 ThrowableProxyConverter를 상속받은 Custom Converter 구현을 통한 예외 처리 인터셉트 구조 채택
- MgntUtils 라이브러리를 활용하여 프레임워크 관련 패키지 노이즈를 제거하고 Application-level 코드만 남기는 필터링 로직 적용
- 설정 파일(logback-spring.xml) 내 Conversion Rule 정의를 통해 기존 로깅 패턴을 유지하며 필터링 기능 주입
- Admin/SRE 운영 효율을 위해 서버 재시작 없는 Hot Runtime Toggle 기능 구현으로 동적 제어 가능성 확보
실천 포인트
1. 로깅 패턴 변경이 필요한 경우 개별 코드 수정 대신 Logging Framework의 Converter/Layout 확장 검토
2. 인프라 수준의 공통 관심사 분리를 통한 개발자 Cognitive Burden 최소화 전략 수립
3. 런타임 설정 변경 기능을 통해 운영 환경의 진단 옵션을 유연하게 제어하는 인터페이스 설계