Skip to main content
이 가이드에서는 실행 중인 샌드박스에서 컨테이너 로그를 캡처하여 메인 프로세스를 모니터링하고 실패 원인을 디버깅하는 방법을 설명합니다. 로그는 샌드박스를 중지하기 전에 조회하세요. 컨테이너 로그는 샌드박스의 메인 프로세스에서 발생하는 stdout 및 stderr입니다. stream_logs()로 스트리밍하세요. 이 메서드는 Sandbox.run()에 전달된 명령어의 출력을 캡처합니다. exec() 명령어의 출력은 포함되지 않습니다. 해당 출력에는 Process.stdout 또는 Process.stderr를 사용하세요. stream_logs()는 로그 줄을 생성하는 StreamReader를 반환합니다. 동기 또는 비동기 방식으로 순회하세요.
명령어 없이 Sandbox.run()을 호출하면 샌드박스의 기본 명령어가 stdout 또는 stderr에 쓰지 않으므로 stream_logs()는 출력을 반환하지 않습니다. stdout 또는 stderr에 쓰는 명령어를 전달하세요.

인증 선택

섹션에서 CKS를 지정하지 않는 한 이 예시는 서버리스 용량에서 실행됩니다. 샌드박스를 소유한 계정의 사용자 인증 정보를 선택하세요. 키 또는 토큰을 획득하는 방법은 사용자 인증 정보 선택 및 조회를 참조하세요. 설치 명령어는 활성화된 Python 가상 환경에서 실행하세요. 사용 중인 사용자 인증 정보 탭의 Python 코드를 sandbox_auth.py로 저장하세요. 이 파일은 이 페이지에서 실행할 Python script와 같은 위치에 두어야 합니다. 이 파일에는 사용자 인증 정보 자체가 아니라 어떤 인증 방식을 선택했는지만 저장됩니다. 예시에서는 이 파일에서 AUTH를 임포트한 다음, 새 샌드박스나 세션을 만들 때마다 명시적으로 전달합니다.
SDK의 W&B 인증 전략으로 Forge API 키를 사용하세요.
sandbox_auth.py
CKS 배치를 사용하려면 CoreWeave 토큰을 선택하고 러너를 활성화한 다음, 샌드박스를 생성할 때 또는 SandboxDefaults에서 placement_mode="cks"를 설정하세요. auth=AUTH로 세션을 생성하면 해당 세션이 소유한 샌드박스도 함께 인증됩니다. 샌드박스에 다시 연결하거나, 샌드박스 목록을 조회하거나, 샌드박스를 정리할 때도 동일한 사용자 인증 정보를 사용하세요.

최근 로그 조회

tail_lines를 사용하여 전체 이력을 스트리밍하지 않고 가장 최근 로그 줄을 가져오세요. 실행 중인 샌드박스를 빠르게 확인할 때 유용합니다.

팔로우 모드

tail -f처럼 로그를 지속적으로 스트리밍합니다. iterator는 새 데이터가 도착할 때까지 대기합니다.
팔로우 모드에서 순회 중에 중지하려면 Ctrl+C를 누르세요.

시간별 필터링

since_time을 전달하면 특정 타임스탬프 이후의 로그만 가져옵니다. 이를 통해 출력을 배포 또는 인시던트 이후의 로그와 같은 관심 윈도우로 좁힐 수 있습니다.

타임스탬프

timestamps=True로 설정하면 각 줄 앞에 서버의 ISO 8601 타임스탬프가 추가됩니다. 서버 측 타임스탬프는 샌드박스 이벤트를 다른 시스템과 연관 짓는 데 도움이 됩니다.

비동기 순회

애플리케이션에서 asyncio를 사용하는 경우, 이벤트 루프가 차단되지 않도록 async for로 동일한 StreamReader를 순회하세요.

중지하기 전에 로그 조회하기

로그를 조회하려면 샌드박스가 실행 중이어야 합니다. 필요한 로그는 샌드박스를 중지하기 전에 조회하세요. 샌드박스가 중지된 후에는 Python SDK와 CLI 모두에서 로그를 조회할 수 없습니다.

참고 자료

마지막 수정일 2026년 10월 27일