Skip to content

v3.0.3 Onyx

Latest

Choose a tag to compare

@HongJungWan HongJungWan released this 26 Dec 05:15
dbf1929

🚛 KBS (blacK-Box logging SDK) v3.0.3 Release

🔧 LoggingContext Scope 누수 및 Span ID 패딩 수정

핵심 컴포넌트 Deep Dive 분석 중, AuditContextAspect와 LoggingContext에서 잠재적 버그를 발견했습니다.

AuditContextAspect에서 makeCurrent() 호출 후 반환되는 Scope를 저장하지 않아, 중첩된 @AuditContext 호출 시 이전 Context가 복원되지 않는 문제가 있었습니다. 또한 LoggingContext의 Span ID 생성 시 W3C Trace Context 표준(16자리 hex 필수)을 준수하지 않는 케이스가 있었습니다.


💡 AuditContextAspect 수정

  • Scope 반환 처리: propagateToLoggingContext() 메서드가 Scope를 반환하도록 변경하여 finally 블록에서 close() 호출이 가능하도록 했습니다.
  • 이전 AuditInfo 복원: 중첩 호출 시 이전 AuditInfo를 저장하고 복원하는 로직을 추가하여 감사 정보 오염을 방지했습니다.

💡 LoggingContext Span ID 패딩 수정

  • 16자리 hex 패딩 추가: Long.toHexString()이 선행 0을 생략하는 문제를 해결하여 W3C Trace Context 표준을 준수하도록 했습니다.
  • generateSpanId() 개선: 생성된 hex 문자열이 16자리 미만일 경우 좌측에 0을 패딩하도록 수정했습니다.