2016-11-09 19:59:01 -05:00
|
|
|
# service logs
|
|
|
|
|
2023-01-06 13:04:05 -05:00
|
|
|
<!---MARKER_GEN_START-->
|
2017-04-06 14:55:54 -04:00
|
|
|
Fetch the logs of a service or task
|
2016-11-09 19:59:01 -05:00
|
|
|
|
2023-01-06 13:04:05 -05:00
|
|
|
### Options
|
|
|
|
|
|
|
|
| Name | Type | Default | Description |
|
|
|
|
|:---------------------|:---------|:--------|:------------------------------------------------------------------------------------------------|
|
2024-07-03 02:29:57 -04:00
|
|
|
| `--details` | `bool` | | Show extra details provided to logs |
|
|
|
|
| `-f`, `--follow` | `bool` | | Follow log output |
|
|
|
|
| `--no-resolve` | `bool` | | Do not map IDs to Names in output |
|
|
|
|
| `--no-task-ids` | `bool` | | Do not include task IDs in output |
|
|
|
|
| `--no-trunc` | `bool` | | Do not truncate output |
|
|
|
|
| `--raw` | `bool` | | Do not neatly format logs |
|
2023-01-06 13:04:05 -05:00
|
|
|
| `--since` | `string` | | Show logs since timestamp (e.g. `2013-01-02T13:23:37Z`) or relative (e.g. `42m` for 42 minutes) |
|
|
|
|
| `-n`, `--tail` | `string` | `all` | Number of lines to show from the end of the logs |
|
2024-07-03 02:29:57 -04:00
|
|
|
| `-t`, `--timestamps` | `bool` | | Show timestamps |
|
2023-01-06 13:04:05 -05:00
|
|
|
|
|
|
|
|
|
|
|
<!---MARKER_GEN_END-->
|
2016-11-09 19:59:01 -05:00
|
|
|
|
2017-02-07 18:42:48 -05:00
|
|
|
## Description
|
|
|
|
|
2016-11-09 19:59:01 -05:00
|
|
|
The `docker service logs` command batch-retrieves logs present at the time of execution.
|
|
|
|
|
2024-08-16 05:02:10 -04:00
|
|
|
> [!NOTE]
|
2020-04-19 11:08:37 -04:00
|
|
|
> This is a cluster management command, and must be executed on a swarm
|
|
|
|
> manager node. To learn about managers and workers, refer to the
|
|
|
|
> [Swarm mode section](https://docs.docker.com/engine/swarm/) in the
|
|
|
|
> documentation.
|
2018-12-23 06:27:52 -05:00
|
|
|
|
2017-04-06 14:55:54 -04:00
|
|
|
The `docker service logs` command can be used with either the name or ID of a
|
|
|
|
service, or with the ID of a task. If a service is passed, it will display logs
|
|
|
|
for all of the containers in that service. If a task is passed, it will only
|
|
|
|
display logs from that particular task.
|
|
|
|
|
2024-08-16 05:02:10 -04:00
|
|
|
> [!NOTE]
|
2020-04-19 09:43:08 -04:00
|
|
|
> This command is only functional for services that are started with
|
2016-11-09 19:59:01 -05:00
|
|
|
> the `json-file` or `journald` logging driver.
|
|
|
|
|
2016-12-04 07:41:57 -05:00
|
|
|
For more information about selecting and configuring logging drivers, refer to
|
2024-08-11 10:43:21 -04:00
|
|
|
[Configure logging drivers](https://docs.docker.com/engine/logging/configure/).
|
2016-11-09 19:59:01 -05:00
|
|
|
|
|
|
|
The `docker service logs --follow` command will continue streaming the new output from
|
|
|
|
the service's `STDOUT` and `STDERR`.
|
|
|
|
|
|
|
|
Passing a negative number or a non-integer to `--tail` is invalid and the
|
|
|
|
value is set to `all` in that case.
|
|
|
|
|
2023-08-25 08:10:40 -04:00
|
|
|
The `docker service logs --timestamps` command will add an [RFC3339Nano timestamp](https://pkg.go.dev/time#RFC3339Nano)
|
2016-11-09 19:59:01 -05:00
|
|
|
, for example `2014-09-16T06:17:46.000000000Z`, to each
|
|
|
|
log entry. To ensure that the timestamps are aligned the
|
|
|
|
nano-second part of the timestamp will be padded with zero when necessary.
|
|
|
|
|
|
|
|
The `docker service logs --details` command will add on extra attributes, such as
|
|
|
|
environment variables and labels, provided to `--log-opt` when creating the
|
|
|
|
service.
|
|
|
|
|
|
|
|
The `--since` option shows only the service logs generated after
|
|
|
|
a given date. You can specify the date as an RFC 3339 date, a UNIX
|
|
|
|
timestamp, or a Go duration string (e.g. `1m30s`, `3h`). Besides RFC3339 date
|
|
|
|
format you may also use RFC3339Nano, `2006-01-02T15:04:05`,
|
2023-01-30 22:18:12 -05:00
|
|
|
`2006-01-02T15:04:05.999999999`, `2006-01-02T07:00`, and `2006-01-02`. The local
|
2016-11-09 19:59:01 -05:00
|
|
|
timezone on the client will be used if you do not provide either a `Z` or a
|
|
|
|
`+-00:00` timezone offset at the end of the timestamp. When providing Unix
|
|
|
|
timestamps enter seconds[.nanoseconds], where seconds is the number of seconds
|
|
|
|
that have elapsed since January 1, 1970 (midnight UTC/GMT), not counting leap
|
|
|
|
seconds (aka Unix epoch or Unix time), and the optional .nanoseconds field is a
|
|
|
|
fraction of a second no more than nine digits long. You can combine the
|
|
|
|
`--since` option with either or both of the `--follow` or `--tail` options.
|
2016-12-14 06:30:09 -05:00
|
|
|
|
2017-02-07 18:42:48 -05:00
|
|
|
## Related commands
|
2016-12-14 06:30:09 -05:00
|
|
|
|
|
|
|
* [service create](service_create.md)
|
|
|
|
* [service inspect](service_inspect.md)
|
|
|
|
* [service ls](service_ls.md)
|
2017-07-20 04:32:51 -04:00
|
|
|
* [service ps](service_ps.md)
|
2016-12-14 06:30:09 -05:00
|
|
|
* [service rm](service_rm.md)
|
2017-07-20 04:32:51 -04:00
|
|
|
* [service rollback](service_rollback.md)
|
2016-12-14 06:30:09 -05:00
|
|
|
* [service scale](service_scale.md)
|
|
|
|
* [service update](service_update.md)
|