나중에 도움이 되는 로그의 조건
로그는 문제가 생긴 뒤에야 가치가 드러납니다. 그때 필요한 것을 미리 남겨두어야 합니다.
도움이 되는 로그는 어떤 로그인가요?
무엇이 일어났는지가 아니라 왜 그렇게 됐는지를 알 수 있는 로그입니다. 값과 조건을 함께 남겨야 재현할 수 있습니다. 모든 것을 남기면 아무것도 못 찾습니다.
반드시 있어야 하는 것
네 가지가 없으면 로그를 봐도 무슨 일이 있었는지 재구성이 안 됩니다.
- 언제 — 정확한 시각(시간대 포함)
- 누가/무엇이 — 사용자나 작업 식별자
- 무엇을 하려 했는가
- 결과 — 성공/실패와 이유
남기면 안 되는 것
비밀번호, 토큰, 카드번호, 주민등록번호는 절대 로그에 남기면 안 됩니다. 요청 본문을 통째로 기록하면 대부분 여기에 걸립니다. 마스킹 규칙을 먼저 정하세요.
레벨을 나누세요
| 레벨 | 언제 | 보관 |
|---|---|---|
| 에러 | 실패했을 때 | 길게 |
| 경고 | 이상하지만 진행됨 | 중간 |
| 정보 | 주요 동작 | 짧게 |
| 디버그 | 개발 중 | 운영에서는 끄기 |
회전 설정을 꼭
로그를 안 지우면 디스크가 찹니다. 그러면 서비스 전체가 멈춥니다. 실제로 자주 일어나는 장애입니다.
자주 묻는 질문
얼마나 보관해야 하나요?
문제 발견까지 걸리는 시간을 고려해 정합니다. 다만 개인정보가 든 로그는 보관 기간 규정을 함께 봐야 합니다.
로그를 얼마나 남겨야 하나요?
재현할 수 있을 만큼입니다. 입력값과 분기 조건이 없으면 무슨 일이 있었는지 알 수 없습니다.
전부 남기면 안 되나요?
너무 많으면 찾지 못합니다. 양이 늘수록 검색이 어려워져 없는 것과 비슷해집니다.
같이 보면 좋은 글
자동화가 조용히 망가지는 방식돌아가는 줄 알았는데 몇 주째 멈춰 있던 경우들. 감지 장치가 필요한 이유. 자동화의 가장 무서운 실패는 에러가 나는 것이 아…완전 자동화보다 반자동이 나은 경우사람이 마지막 버튼을 누르는 구조. 왜 더 안전하고 오래가는가. 자동화의 목표는 사람을 없애는 것이 아니라 사람이 판단만 하게…무엇부터 자동화해야 하나자동화할 것과 하면 안 되는 것. 판단 기준 네 가지. 자동화는 만드는 비용이 듭니다. 아무거나 자동화하면 유지보수만…알림을 설계하는 법 — 많으면 안 봅니다알림이 늘면 전부 무시됩니다. 실제로 행동으로 이어지는 알림의 조건. 알림의 목적은 행동입니다. 읽고 아무것도 안 하게 되는 …매달 반복되는 일을 줄이는 순서같은 일을 매달 하고 있다면 순서를 바꿀 수 있습니다. 매달 같은 일을 한다면 세 단계로 줄일 수 있습니다. 없애기 → 묶기 …템플릿이 자동화보다 효과적일 때코드 없이 반복을 줄이는 방법. 무엇을 템플릿으로 만들어야 하나. 자동화는 만들기 어렵지만 템플릿은 오늘 만들 수 있습니다. …