Files
nomad/website/content/docs/commands/alloc/logs.mdx
Allison Larson 17d191ae24 Add -group flag to alloc exec, alloc logs command (#25568)
* Add -group flag to `alloc exec`, `alloc logs` command

* fixup! Add -group flag to `alloc exec`, `alloc logs` command

* Add -group option to alloc fs

* Add changelog
2025-03-31 14:17:45 -07:00

125 lines
3.4 KiB
Plaintext

---
layout: docs
page_title: 'nomad alloc logs command reference'
description: |
The `nomad alloc logs` command streams the task logs from an allocation.
---
# `nomad alloc logs` command reference
**Alias: `nomad logs`**
The `alloc logs` command displays the log of a given task.
## Usage
```plaintext
nomad alloc logs [options] <allocation> <task>
```
This command streams the logs of the given task in the allocation. If the
allocation is only running a single task, the task name can be omitted.
Optionally, the `-job` option may be used in which case a random allocation from
the given job will be chosen.
Task name may also be specified using the `-task` option rather than a command
argument. If task name is given with both an argument and the `-task` option,
preference is given to the `-task` option.
When ACLs are enabled, this command requires a token with the `read-logs`,
`read-job`, and `list-jobs` capabilities for the allocation's namespace.
## General options
@include 'general_options.mdx'
## Logs options
- `-stdout`: Display stdout logs. This is used as the default value in all
commands except when using the `-f` flag where both stdout and stderr are
used as default.
- `-stderr`: Display stderr logs.
- `-verbose`: Display verbose output.
- `-job=<job-name|job-id>`: Use a random allocation from the specified job or
job ID prefix, preferring a running allocation.
- `-task=<task-name>`: Specify the task to view the logs.
- `-group=<group-name>`: Specifies the task group where the task is located
when a random allocation is selected
- `-f`: Causes the output to not stop when the end of the logs are reached, but
rather to wait for additional output. When supplied with no other flags except
optionally `-job` and `-task`, both stdout and stderr logs will be followed.
- `-tail`: Show the logs contents with offsets relative to the end of the logs.
If no offset is given, -n is defaulted to 10.
- `-n`: Sets the tail location in best-efforted number of lines relative to the
end of the logs.
- `-c`: Sets the tail location in number of bytes relative to the end of the
logs.
Note that the `-no-color` option applies to Nomad's own output. If the task's
logs include terminal escape sequences for color codes, Nomad will not remove
them.
## Examples
```shell-session
$ nomad alloc logs eb17e557 redis
foobar
baz
bam
$ nomad alloc logs -stderr eb17e557 redis
[ERR]: foo
[ERR]: bar
$ nomad alloc logs -job example
[ERR]: foo
[ERR]: bar
$ nomad alloc logs -tail -n 2 eb17e557 redis
foobar
baz
$ nomad alloc logs -tail -f -n 3 eb17e557 redis
foobar
baz
bam
<blocking>
```
Specifying task name with the `-task` option:
```shell-session
$ nomad alloc logs -task redis eb17e557
```
If task name is specified using both options, the command argument is ignored.
The following will output the logs from the "redis" task only, not the "api" task:
```shell-session
$ nomad alloc logs -task redis eb17e557 api
```
## Using Job ID instead of Allocation ID
Setting the `-job` flag causes a random allocation of the specified job to be
selected. Nomad will prefer to select a running allocation ID for the job, but
if no running allocations for the job are found, Nomad will use a dead
allocation.
```plaintext
nomad alloc logs -job <job-id> <task>
```
Choosing a specific allocation is useful for debugging issues with a specific
instance of a service. For other operations using the `-job` flag may be more
convenient than looking up an allocation ID to use.