# 로그 API 사용 가이드 ## 개요 이 문서는 로컬 개발자와 51124 서버에서 로빙 서비스들의 로그를 조회하는 방법을 안내합니다. ## API 엔드포인트 - **URL**: `https://ro-being.com/admin/logs/{service}` - **메소드**: GET - **인증**: Bearer Token (JWT) ## 사용 단계 ### 1. 로그인하여 토큰 발급 ```bash # 로그인 요청 curl -X POST https://ro-being.com/admin/login \ -H "Content-Type: application/json" \ -d '{"password": "19800508"}' # 응답 예시 { "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", "token_type": "bearer" } ``` ### 2. 로그 조회 ```bash # 토큰을 환경변수에 저장 export TOKEN="발급받은_토큰" # 로그 조회 (최근 50줄) curl -H "Authorization: Bearer $TOKEN" \ https://ro-being.com/admin/logs/rb10508_test # 특정 라인 수 지정 (예: 100줄) curl -H "Authorization: Bearer $TOKEN" \ https://ro-being.com/admin/logs/rb10508_test?lines=100 ``` ## 사용 가능한 서비스명 - `rb10508_test` - 로빙 테스트 서비스 (51124 서버) - `rb8001` - 로빙 메인 서비스 (51124 서버) - `rb10408` - 로빙 서비스 (51124 서버) - `skill-email` - 이메일 스킬 서비스 (51124 서버) - `skill-news` - 뉴스 스킬 서비스 (51124 서버) - `frontend-base` - 관리자 대시보드 (51123 서버) ## 응답 형식 ```json { "logs": [ "2025-07-28T02:10:12.932703068Z INFO: Log message 1", "2025-07-28T02:10:13.033248022Z INFO: Log message 2" ], "service": "rb10508_test", "container_name": "rb10508_test", "total_lines": 50 } ``` ## 실제 사용 예시 ### 로컬 개발자용 (bash) ```bash #!/bin/bash # log-viewer.sh # 1. 로그인 RESPONSE=$(curl -s -X POST https://ro-being.com/admin/login \ -H "Content-Type: application/json" \ -d '{"password": "19800508"}') TOKEN=$(echo $RESPONSE | python3 -c "import sys, json; print(json.load(sys.stdin)['access_token'])") # 2. 로그 조회 SERVICE=${1:-rb10508_test} LINES=${2:-50} curl -s -H "Authorization: Bearer $TOKEN" \ "https://ro-being.com/admin/logs/$SERVICE?lines=$LINES" | \ python3 -m json.tool ``` ### Python 예시 ```python import requests import json # 로그인 login_response = requests.post( 'https://ro-being.com/admin/login', json={'password': '19800508'} ) token = login_response.json()['access_token'] # 로그 조회 headers = {'Authorization': f'Bearer {token}'} logs_response = requests.get( 'https://ro-being.com/admin/logs/rb10508_test?lines=100', headers=headers ) logs_data = logs_response.json() for log in logs_data['logs']: print(log) ``` ## 주의사항 1. 토큰은 24시간 후 만료됩니다 2. 한 번에 최대 1000줄까지 조회 가능합니다 3. 컨테이너가 중지된 경우 로그를 조회할 수 없습니다 ## 문제 해결 - **401 Unauthorized**: 토큰이 만료되었거나 잘못되었습니다. 다시 로그인하세요. - **404 Not Found**: 서비스명이 잘못되었거나 컨테이너가 존재하지 않습니다. - **500 Internal Server Error**: 서버 문제입니다. 서버팀에 문의하세요.