Browse Source

Merge pull request #1791 from afshinpaydar-binary/docker_compose_logs_since_option

Nicolas De loof 4 years ago
parent
commit
9ea051f64e
3 changed files with 10 additions and 0 deletions
  1. 6 0
      cmd/compose/logs.go
  2. 2 0
      pkg/api/api.go
  3. 2 0
      pkg/compose/logs.go

+ 6 - 0
cmd/compose/logs.go

@@ -32,6 +32,8 @@ type logsOptions struct {
 	composeOptions
 	follow     bool
 	tail       string
+	since      string
+	until      string
 	noColor    bool
 	noPrefix   bool
 	timestamps bool
@@ -50,6 +52,8 @@ func logsCommand(p *projectOptions, contextType string, backend api.Service) *co
 	}
 	flags := logsCmd.Flags()
 	flags.BoolVarP(&opts.follow, "follow", "f", false, "Follow log output.")
+	flags.StringVar(&opts.since, "since", "", "Show logs since timestamp (e.g. 2013-01-02T13:23:37Z) or relative (e.g. 42m for 42 minutes)")
+	flags.StringVar(&opts.until, "until", "", "Show logs before a timestamp (e.g. 2013-01-02T13:23:37Z) or relative (e.g. 42m for 42 minutes)")
 	flags.BoolVar(&opts.noColor, "no-color", false, "Produce monochrome output.")
 	flags.BoolVar(&opts.noPrefix, "no-log-prefix", false, "Don't print prefix in logs.")
 	flags.BoolVarP(&opts.timestamps, "timestamps", "t", false, "Show timestamps.")
@@ -70,6 +74,8 @@ func runLogs(ctx context.Context, backend api.Service, opts logsOptions, service
 		Services:   services,
 		Follow:     opts.follow,
 		Tail:       opts.tail,
+		Since:      opts.since,
+		Until:      opts.until,
 		Timestamps: opts.timestamps,
 	})
 }

+ 2 - 0
pkg/api/api.go

@@ -324,6 +324,8 @@ type ServiceStatus struct {
 type LogOptions struct {
 	Services   []string
 	Tail       string
+	Since      string
+	Until      string
 	Follow     bool
 	Timestamps bool
 }

+ 2 - 0
pkg/compose/logs.go

@@ -48,6 +48,8 @@ func (s *composeService) Logs(ctx context.Context, projectName string, consumer
 				ShowStdout: true,
 				ShowStderr: true,
 				Follow:     options.Follow,
+				Since:      options.Since,
+				Until:      options.Until,
 				Tail:       options.Tail,
 				Timestamps: options.Timestamps,
 			})