DOCS/troubleshooting/250908_rb8001_logging_issues.md

2.7 KiB

rb8001 로깅 시스템 미구현 문제

작성일: 2025-09-08 작성자: happybell80 상태: 계획만 존재, 구현 필요

왜 이 문제를 풀어야 하는가

  1. 프로덕션 로빙: rb8001은 실제 사용자와 상호작용하는 메인 서비스 (테스트용 아님)
  2. 모든 스킬 허브: skill-email, skill-news, skill-slack 등 모든 외부 서비스 호출 경유
  3. 크론 작업 중심: 일일 브리핑, 헤드라인 등 정기 작업 실행 및 실패 추적 필수
  4. Slack 연동 핵심: 사용자 명령어, DM, 채널 메시지 모두 rb8001이 처리
  5. Docker 로그 휘발성: json-file 드라이버는 10MB x 3개만 보관, 이전 로그 소실

현재 상태

구현된 것:

  • 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. 크론잡 등록 여부

구현 방안 (결정 후)

# 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. 서버 배포