서버 로그는 보이지 않는 실패를 사용자 영향과 운영 신호로 바꾼다
서버 오류는 화면에 조용히 실패처럼 보일 수 있다. 로그는 오류, 성능, 보안, 디버깅 단서를 같은 형식으로 남긴다.
| 목적 | 예시 신호 | 필요한 필드 | 놓치면 생기는 문제 |
|---|---|---|---|
| 오류 추적 | 500, exception, rejected promise | stack, requestId, route, input summary | 재현 없이 원인 추측만 반복 |
| 성능 병목 | 느린 API, 긴 DB query | duration, query name, upstream latency | 느린 화면과 서버 비용을 연결 못 함 |
| 사용자 영향 | 특정 사용자/테넌트 반복 실패 | userId hash, plan, feature flag | 장애 범위와 우선순위 판단 실패 |
| 보안 감사 | 인증 실패, 권한 우회 시도 | ip, path, auth result, reason | 공격 징후를 사후에 복원 못 함 |
| 프로덕션 디버깅 | 배포 후에만 발생하는 오류 | env, deployment id, version | 로컬 정상 여부만 확인하고 멈춤 |