피드로 돌아가기
Dev.toBackend
원문 읽기
Queue-based 비동기 쓰기를 통한 ASP.NET Core 요청 및 예외 가시성 확보
ASP.NET Core Request & Exception Logging with a Built-In Dashboard
AI 요약
Context
기존 ASP.NET Core 로깅 환경의 요청 라이프사이클 추적 부재로 인한 디버깅 병목 발생. 대규모 Observability 플랫폼 도입 없이 가벼운 요청-예외 통합 가시성 확보 필요성 증대.
Technical Solution
- Non-blocking Async Writes를 위한 Queue-based persistence 구조 설계로 API 응답 지연 제거
- X-Correlation-ID 기반 Distributed Tracing 구현을 통한 요청-응답 간 논리적 연결성 확보
- [AsGuardMasked] 속성과 Header Redaction 설정을 통한 민감 데이터 마스킹 체계 구축
- SignalR 의존성을 배제한 SSE(Server-Sent Events) 기반 실시간 대시보드 푸시 알림 구현
- Content-type Allowlist 기반 Body capture 로직 적용으로 불필요한 데이터 저장 방지
- ILogger 캡처 및 다중 DB(SQL Server, PostgreSQL, SQLite) 지원을 통한 인프라 유연성 확보
실천 포인트
1. 로깅 작업이 메인 비즈니스 로직의 Latency에 영향을 주지 않도록 Queue 기반 비동기 처리 검토
2. 개인정보 유출 방지를 위해 필드 단위 마스킹 속성(Attribute) 도입 고려
3. 분산 환경의 추적성을 위해 모든 요청에 Correlation ID 부여 및 전파 표준 설정
4. 실시간 모니터링 필요 시 오버헤드가 큰 WebSocket 대신 가벼운 SSE 도입 검토