나중에 도움이 되는 로그의 조건
로그는 문제가 생긴 뒤에야 가치가 드러납니다. 그때 필요한 것을 미리 남겨두어야 합니다.
반드시 있어야 하는 것
네 가지가 없으면 로그를 봐도 무슨 일이 있었는지 재구성이 안 됩니다.
- 언제 — 정확한 시각(시간대 포함)
- 누가/무엇이 — 사용자나 작업 식별자
- 무엇을 하려 했는가
- 결과 — 성공/실패와 이유
남기면 안 되는 것
비밀번호, 토큰, 카드번호, 주민등록번호는 절대 로그에 남기면 안 됩니다. 요청 본문을 통째로 기록하면 대부분 여기에 걸립니다. 마스킹 규칙을 먼저 정하세요.
레벨을 나누세요
| 레벨 | 언제 | 보관 |
|---|---|---|
| 에러 | 실패했을 때 | 길게 |
| 경고 | 이상하지만 진행됨 | 중간 |
| 정보 | 주요 동작 | 짧게 |
| 디버그 | 개발 중 | 운영에서는 끄기 |
회전 설정을 꼭
로그를 안 지우면 디스크가 찹니다. 그러면 서비스 전체가 멈춥니다. 실제로 자주 일어나는 장애입니다.
자주 묻는 질문
얼마나 보관해야 하나요?
문제 발견까지 걸리는 시간을 고려해 정합니다. 다만 개인정보가 든 로그는 보관 기간 규정을 함께 봐야 합니다.