logs0

나중에 도움이 되는 로그의 조건

자동화 logs0

로그는 문제가 생긴 뒤에야 가치가 드러납니다. 그때 필요한 것을 미리 남겨두어야 합니다.

도움이 되는 로그는 어떤 로그인가요?

무엇이 일어났는지가 아니라 왜 그렇게 됐는지를 알 수 있는 로그입니다. 값과 조건을 함께 남겨야 재현할 수 있습니다. 모든 것을 남기면 아무것도 못 찾습니다.

반드시 있어야 하는 것

네 가지가 없으면 로그를 봐도 무슨 일이 있었는지 재구성이 안 됩니다.

  1. 언제 — 정확한 시각(시간대 포함)
  2. 누가/무엇이 — 사용자나 작업 식별자
  3. 무엇을 하려 했는가
  4. 결과 — 성공/실패와 이유

남기면 안 되는 것

비밀번호, 토큰, 카드번호, 주민등록번호는 절대 로그에 남기면 안 됩니다. 요청 본문을 통째로 기록하면 대부분 여기에 걸립니다. 마스킹 규칙을 먼저 정하세요.

레벨을 나누세요

레벨언제보관
에러실패했을 때길게
경고이상하지만 진행됨중간
정보주요 동작짧게
디버그개발 중운영에서는 끄기

회전 설정을 꼭

로그를 안 지우면 디스크가 찹니다. 그러면 서비스 전체가 멈춥니다. 실제로 자주 일어나는 장애입니다.

자주 묻는 질문

얼마나 보관해야 하나요?

문제 발견까지 걸리는 시간을 고려해 정합니다. 다만 개인정보가 든 로그는 보관 기간 규정을 함께 봐야 합니다.

로그를 얼마나 남겨야 하나요?

재현할 수 있을 만큼입니다. 입력값과 분기 조건이 없으면 무슨 일이 있었는지 알 수 없습니다.

전부 남기면 안 되나요?

너무 많으면 찾지 못합니다. 양이 늘수록 검색이 어려워져 없는 것과 비슷해집니다.

같이 보면 좋은 글

자동화 전체 글

자동화 목록 보기 →