- 모든 .md, .html 파일 권한을 644로 정상화 - .gitignore 파일 권한도 644로 수정 - 문서 파일에 실행 권한은 불필요하고 보안상 바람직하지 않음 - deprecated 아이디어 폴더 생성 및 레벨별 UI 변경 아이디어 이동
117 lines
3.0 KiB
Markdown
117 lines
3.0 KiB
Markdown
# 로그 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**: 서버 문제입니다. 서버팀에 문의하세요. |