> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cloud.vessl.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# View logs

> Stream and review batch job execution logs.

Use the **Logs** tab on a job's detail page to watch container output as it runs and to scroll back through past lines after the job finishes.

<div>
  <Frame>
    <img style={{ borderRadius: '0.5rem' }} src="https://mintcdn.com/dora/LUWzC5lx5RwOccfw/images/Job_logs.png?fit=max&auto=format&n=LUWzC5lx5RwOccfw&q=85&s=c313ee12dbf21aa3833a6ecdd6443350" alt="Job Logs tab streaming timestamped INFO entries with Filter and Go to latest controls" width="7680" height="4628" data-path="images/Job_logs.png" />
  </Frame>

  <small>Example: Job execution logs</small>
</div>

## Controls

* **Filter**: Search and highlight matching lines.
* **Go to latest**: Jump to the most recent line; useful when the log scrolls fast during long runs.

Logs are retained for the lifetime of the job record, so you can review them after the job completes, fails, or terminates.

## From the CLI

Stream logs in real time, or fetch a fixed number of recent lines:

```bash theme={null}
vesslctl job logs <job-slug> --follow         # stream as they arrive
vesslctl job logs <job-slug> --limit 500      # last 500 lines
```

See [`vesslctl job logs`](/cli/commands/job#logs) for the full reference.

## Common debugging patterns

* **`OOMKilled` in the status header**: GPU or system memory limit was exceeded. Inspect the [Metrics](/member/job/metrics) tab around the failure time and consider a larger resource spec or smaller batch size.
* **Image pull errors at the top of the log**: Re-check the image URI and registry credentials.
* **Silent hang**: Confirm the entry command actually exits. Long-running daemons should be submitted as workspaces, not jobs.

## See also

* [View job details](/member/job/details)
* [Monitor metrics](/member/job/metrics)
