Просмотр исходного кода

Merge pull request #31313 from dperny/31306-fix-specify-stdoutstderr

Fix service logs API to be able to specify stream
Brian Goff 8 лет назад
Родитель
Сommit
dd4a6c5aff
1 измененных файлов с 11 добавлено и 1 удалено
  1. 11 1
      daemon/cluster/services.go

+ 11 - 1
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 {