Add: rb8001 logging system implementation gap analysis - plans exist but not implemented
This commit is contained in:
parent
f128957f7f
commit
c4897cff78
85
troubleshooting/250908_rb8001_logging_issues.md
Normal file
85
troubleshooting/250908_rb8001_logging_issues.md
Normal file
@ -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. 서버 배포
|
||||||
Loading…
x
Reference in New Issue
Block a user