참조API
로그
logs 카테고리의 API 연산 1개를 다룹니다.
| 메서드 | 경로 | 설명 |
|---|---|---|
| GET | /v1/orgs/{orgSlug}/projects/{projectName}/logs | 워커 출력의 실시간 테일(runlot logs) |
GET /v1/orgs/{orgSlug}/projects/{projectName}/logs
홈 노드의 node-agent가 보유한 링 버퍼(docs/phase6.md A1)를 cp-core를 통해 변경 없이 스트리밍합니다. 응답은 text/x-ndjson이며, 한 줄에 LogEvent 하나씩 담습니다. 먼저 버퍼의 마지막 tail개 줄을 보내고, follow가 설정되어 있으면 그다음 클라이언트가 연결을 끊을 때까지 새 줄을 전송합니다. ping은 15초마다 도착합니다 — 이는 프록시가 유휴 연결을 닫지 않도록 하고, 클라이언트가 스트림이 죽었는지 판단할 수 있게 합니다.
저장된 로그가 아닙니다. 노드 메모리에 있는 가장 최근 줄만 남습니다. 프로세스가 교체되면 runlot 스트림이 그 사실을 한 줄로 기록합니다(prod-gap).
member 이상의 권한이 필요합니다. 읽기 전용이므로 감사 이벤트를 남기지 않습니다.
operationId tailLogs
| 매개변수 | 위치 | 필수 | 타입 | 설명 |
|---|---|---|---|---|
tail | query | 아니오 | 정수 | 먼저 전송할 버퍼 줄 수입니다. 최대 2000개로 제한됩니다. |
follow | query | 아니오 | 불리언 | 버퍼 전송이 끝난 뒤에도 새 줄을 계속 스트리밍할지 여부입니다. |
| 상태 코드 | 설명 | 응답 본문 |
|---|---|---|
| 200 | NDJSON 스트림 — 한 줄에 LogEvent 하나씩 | LogEvent |
| 403 | — | — |
| 404 | — | — |
| 409 | 지금은 스트리밍할 수 있는 프로세스가 없습니다. code는 no_home_node(콜드 상태이거나 배치가 없음) 또는 suspended입니다. | Error |
| 502 | 노드가 응답하지 않습니다. code는 node_unreachable입니다. | Error |