Pantheon Raw Log Retention 우선안 — HAN-474 디버깅 보강
- 기존 문서의 결론은 잘못 잡혔다. HAN-474의 1차 블로커는 cascade attempt 장부 부재가 아니라 원본 로그 휘발이었다.
- 우선 작업은
bridge.log장기 보존 또는 아카이빙이다. - cascade run ledger는 로그 보존으로도 attempt 흐름 분석이 부족할 때 후순위로 검토한다.
배경
HAN-474 Slack API read timeout 디버깅 중 원본 에러가 발생한 시점의 Pantheon 로그를 직접 확인할 수 없었다.
원본 스레드에서 확인된 블로커는 다음 순서다.
- Pantheon 로그가 로테이션되어 원본 에러 전문을 볼 수 없었다.
- 그 결과 Slack API read timeout의 실제 원인과 주변 맥락을 확인하기 어려웠다.
- 이후 cascade attempt의 성공/실패 흐름도 별도 기록이 없어 결론을 보강하기 어려웠다.
따라서 기존 초안처럼 Cascade Run Ledger MVP를 1순위로 두면 문제 정의가 어긋난다.
수정된 결정
우선순위는 raw log retention/archiving이다.
Pantheon은 현재 운영 로그가 짧게 남도록 구성되어 있어, 며칠 뒤 장애를 복기할 때 원본 로그가 사라질 수 있다. 먼저 원본 로그를 충분한 기간 동안 남기고, 그 다음에도 cascade 흐름 추적이 부족하면 ledger를 추가한다.
선택지 비교
| 선택지 | 장점 | 리스크 | 판단 |
|---|---|---|---|
bridge.log 보존 기간 연장 |
구현이 작고 즉시 효과가 있다. 기존 로그 포맷과 조회 방식을 그대로 쓴다. | 로컬 디스크 사용량 증가 | 1차 MVP |
| 로그 아카이빙 | 로컬 재시작/정리와 분리되어 더 안정적이다. | 저장소, 비용, 접근권한 설계 필요 | 2차 |
| cascade run ledger | attempt 결과 조회가 쉽고 payload를 줄일 수 있다. | 스키마, 기록, 조회 관리 포인트가 계속 생긴다. 원본 에러 전문은 복원하지 못한다. | 후순위 |
1차 MVP 범위
이번 작업에서 한다.
bridge.logdaily rotation은 유지한다.- 보존 개수를 현재 7개에서 장기 보존 기본값으로 늘린다.
- 보존 개수는 환경변수로 조정 가능하게 한다.
- 설정값이 비정상이면 안전한 기본값으로 동작하게 한다.
- 기존 INFO/WARNING 필터링 정책은 바꾸지 않는다.
- Slack 메시지 전문, 토큰, request/response payload를 새로 저장하지 않는다.
이번 작업에서 하지 않는다.
- cascade run ledger 스키마 추가
- DB 테이블 또는 trace viewer 구축
- 외부 로그 저장소 연동
- Slack/Linear 원문 payload 영구 저장
- 기존 로그 레벨 상향
권장 설정
1차 기본값은 30일 이상으로 둔다.
이유는 HAN-474처럼 며칠 뒤 복기하는 디버깅을 막지 않기 위해서다. bridge.log는 이미 library DEBUG/INFO payload를 억제하고 있어, 보존 기간 연장의 민감정보 리스크는 새 payload 저장을 시작하는 ledger나 아카이빙보다 작다.
성공 기준
bridge.py의TimedRotatingFileHandler가 환경변수 기반backupCount를 사용한다.- 기본 보존 개수가 기존 7개보다 크다.
- 잘못된 환경변수 값은 예외 없이 기본값으로 fallback한다.
- 기존 UTF-8 로그 파일 테스트와 socket logger suppression 테스트가 통과한다.
- 운영자는 배포 후 재시작만으로 새 보존 정책을 적용할 수 있다.
후속 작업
로그 보존 연장 후에도 아래 질문이 계속 막히면 ledger를 별도 티켓으로 연다.
- 특정 Slack thread에서 cascade가 몇 번 재시도됐는가
- 각 attempt가 어떤 tool/API에서 실패했는가
- 최종 성공/실패 결과를 로그 검색 없이 바로 조회해야 하는가
그때의 ledger는 원본 로그 대체물이 아니라, 로그를 보조하는 작은 인덱스여야 한다.
티켓 초안
Title: Extend Pantheon bridge log retention for post-rotation debugging
Description:
Increase durable retention for Pantheon bridge.log so raw errors remain available during delayed incident review. Keep the existing daily rotation and log filtering policy, but make the backup count configurable and raise the default above the current 7-day window. Cascade run ledger work is explicitly deferred until raw log retention proves insufficient.
Acceptance Criteria:
bridge.logdaily rotation remains enabled.- Log backup count is configurable by environment variable.
- Default backup count is greater than 7.
- Invalid environment values fall back safely.
- Existing sensitive payload suppression policy is unchanged.
- Tests cover default, override, and invalid retention settings.
이 문서는 기존 Cascade Run Ledger MVP 결론을 철회한다. 지금 진행할 작업은 ledger가 아니라 Pantheon raw log retention 1차 MVP다.
참고
- Source thread: #northstar Slack thread