diff --git a/daemon/cluster/services.go b/daemon/cluster/services.go index 3f934131d1..a80730c687 100644 --- a/daemon/cluster/services.go +++ b/daemon/cluster/services.go @@ -277,12 +277,22 @@ func (c *Cluster) ServiceLogs(ctx context.Context, input string, config *backend return err } + // set the streams we'll use + stdStreams := []swarmapi.LogStream{} + if config.ContainerLogsOptions.ShowStdout { + stdStreams = append(stdStreams, swarmapi.LogStreamStdout) + } + if config.ContainerLogsOptions.ShowStderr { + stdStreams = append(stdStreams, swarmapi.LogStreamStderr) + } + stream, err := state.logsClient.SubscribeLogs(ctx, &swarmapi.SubscribeLogsRequest{ Selector: &swarmapi.LogSelector{ ServiceIDs: []string{service.ID}, }, Options: &swarmapi.LogSubscriptionOptions{ - Follow: config.Follow, + Follow: config.Follow, + Streams: stdStreams, }, }) if err != nil {