diff --git a/cmd/compose/logs.go b/cmd/compose/logs.go index 404ef86b6..44040fa55 100644 --- a/cmd/compose/logs.go +++ b/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, }) } diff --git a/pkg/api/api.go b/pkg/api/api.go index 7e37d32ed..8fc5619de 100644 --- a/pkg/api/api.go +++ b/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 } diff --git a/pkg/compose/logs.go b/pkg/compose/logs.go index fc8204afc..52268e4b2 100644 --- a/pkg/compose/logs.go +++ b/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, })