From c4897cff78a17779a95592d95930e892fe4eee4b Mon Sep 17 00:00:00 2001 From: happybell80 Date: Mon, 8 Sep 2025 11:50:53 +0900 Subject: [PATCH] Add: rb8001 logging system implementation gap analysis - plans exist but not implemented --- .../250908_rb8001_logging_issues.md | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 troubleshooting/250908_rb8001_logging_issues.md diff --git a/troubleshooting/250908_rb8001_logging_issues.md b/troubleshooting/250908_rb8001_logging_issues.md new file mode 100644 index 0000000..9b78181 --- /dev/null +++ b/troubleshooting/250908_rb8001_logging_issues.md @@ -0,0 +1,85 @@ +# rb8001 로깅 시스템 미구현 문제 + +**작성일**: 2025-09-08 +**작성자**: happybell80 +**상태**: 계획만 존재, 구현 필요 + +## 왜 이 문제를 풀어야 하는가 + +1. **디버깅 불가**: 09:00 헤드라인 실패 같은 문제 발생 시 로그 없어 원인 파악 불가 +2. **Docker 로그 휘발성**: json-file 드라이버는 10MB x 3개만 보관, 이전 로그 소실 +3. **규칙 위반**: CLAUDE.md에 "로그는 HDD 저장" 명시되었으나 미준수 +4. **리소스 낭비**: docker-compose.yml에 ./logs:/code/logs 볼륨 마운트했으나 미사용 + +## 현재 상태 + +**구현된 것**: +- main.py:30 - `logging.basicConfig(level=log_level)` stdout 출력만 +- docker-compose.yml:59 - `./logs:/code/logs:rw` 볼륨 마운트 +- 컨테이너 내 /code/logs/rb8001_app.log - 2025-08-03 이후 업데이트 없음 + +**구현 안 된 것**: +- FileHandler 설정 없음 +- 로컬 rb8001/logs 디렉토리 없음 +- HDD 동기화 없음 + +## 기존 계획들 (문서화만 됨) + +| 문서 | 제안 방법 | 구현 상태 | +|------|-----------|-----------| +| 250731_로그저장소_SSHFS | SSHFS로 51124→51123 HDD 마운트 | 미구현 | +| 250801_크론잡로그동기화 | 로컬 저장 후 크론잡으로 HDD 동기화 | 미구현 | +| 250729_서버백업로그관리 | 심링크로 SSD→HDD 연결 | 미구현 | +| 250716_robeing_db_separation | FileHandler로 파일 저장 | 미구현 | +| 360_로빙_컨테이너_경량화 | 호스트에서 HDD 심링크 | 미구현 | + +## 결정 필요 사항 + +1. **로깅 전략 선택**: + - A. Docker 로그만 사용 (현재 상태 유지) + - B. FileHandler 추가하여 파일 로깅 구현 + - 결정 필요 + +2. **파일 로깅 선택 시**: + - 로그 파일 위치: /code/logs/ 또는 다른 경로 + - 로그 로테이션: TimedRotatingFileHandler 사용 여부 + - 결정 필요 + +3. **HDD 저장 방법**: + - SSHFS 마운트 + - 크론잡 동기화 + - 심링크 + - 결정 필요 + +## 즉시 확인 필요 + +1. 서버에서 실제 HDD 경로 존재 여부: /mnt/hdd/logs/ +2. SSHFS 설정 여부 +3. 크론잡 등록 여부 + +## 구현 방안 (결정 후) + +```python +# main.py 수정 예시 (FileHandler 추가 시) +import logging.handlers + +# 기존 코드 +logging.basicConfig(level=log_level) + +# 추가 필요 코드 +if os.path.exists('/code/logs'): + file_handler = logging.handlers.TimedRotatingFileHandler( + '/code/logs/rb8001_app.log', + when='midnight', + interval=1, + backupCount=30 + ) + logging.getLogger().addHandler(file_handler) +``` + +## 다음 단계 + +1. 로깅 전략 결정 +2. 구현 방법 선택 +3. 코드 수정 및 테스트 +4. 서버 배포 \ No newline at end of file