diff --git a/internal/pkg/cli/flag.go b/internal/pkg/cli/flag.go index 1e1cf13a0a9..99ba7144ea2 100644 --- a/internal/pkg/cli/flag.go +++ b/internal/pkg/cli/flag.go @@ -137,7 +137,7 @@ const ( envFlagShort = "e" typeFlagShort = "t" workloadFlagShort = "w" - // previousFlagShort = "p" + previousFlagShort = "p" dockerFileFlagShort = "d" commandFlagShort = "c" @@ -233,9 +233,9 @@ Uploaded asset locations are filled in the template configuration.` unless any time filtering flags are set.` lastFlagDescription = `Optional. The number of executions of the scheduled job for which logs should be shown.` - followFlagDescription = "Optional. Specifies if the logs should be streamed." - // previousFlagDescription = "Optional. Print logs for the last stopped task if exists." - sinceFlagDescription = `Optional. Only return logs newer than a relative duration like 5s, 2m, or 3h. + followFlagDescription = "Optional. Specifies if the logs should be streamed." + previousFlagDescription = "Optional. Print logs for the last stopped task if exists." + sinceFlagDescription = `Optional. Only return logs newer than a relative duration like 5s, 2m, or 3h. Defaults to all logs. Only one of start-time / since may be used.` startTimeFlagDescription = `Optional. Only return logs after a specific date (RFC3339). Defaults to all logs. Only one of start-time / since may be used.` diff --git a/internal/pkg/cli/svc_logs.go b/internal/pkg/cli/svc_logs.go index e47e81132f3..7f227739fb0 100644 --- a/internal/pkg/cli/svc_logs.go +++ b/internal/pkg/cli/svc_logs.go @@ -219,6 +219,7 @@ func (o *svcLogsOpts) Execute() error { return err } o.taskIDs = []string{taskID} + log.Infoln("previously stopped task:", taskID) } err := o.logsSvc.WriteLogEvents(logging.WriteLogEventsOpts{ Follow: o.follow, @@ -366,7 +367,7 @@ func buildSvcLogsCmd() *cobra.Command { cmd.Flags().IntVar(&vars.limit, limitFlag, 0, limitFlagDescription) cmd.Flags().StringSliceVar(&vars.taskIDs, tasksFlag, nil, tasksLogsFlagDescription) cmd.Flags().StringVar(&vars.logGroup, logGroupFlag, "", logGroupFlagDescription) - // cmd.Flags().BoolVarP(&vars.previous, previousFlag, previousFlagShort, false, previousFlagDescription) + cmd.Flags().BoolVarP(&vars.previous, previousFlag, previousFlagShort, false, previousFlagDescription) // cmd.Flags().StringVar(&vars.containerName, containerLogFlag, "", containerLogFlagDescription) return cmd } diff --git a/internal/pkg/cli/svc_logs_test.go b/internal/pkg/cli/svc_logs_test.go index 5d56751dd9e..77c7083f0d2 100644 --- a/internal/pkg/cli/svc_logs_test.go +++ b/internal/pkg/cli/svc_logs_test.go @@ -48,6 +48,8 @@ func TestSvcLogs_Validate(t *testing.T) { inputStartTime string inputEndTime string inputSince time.Duration + inputPrevious bool + inputTaskIDs []string mockstore func(m *mocks.Mockstore) @@ -107,6 +109,14 @@ func TestSvcLogs_Validate(t *testing.T) { wantedError: fmt.Errorf("--limit 10001 is out-of-bounds, value must be between 1 and 10000"), }, + "returns error if both previous and tasks flags are defined": { + inputPrevious: true, + inputTaskIDs: []string{"taskId"}, + + mockstore: func(m *mocks.Mockstore) {}, + + wantedError: fmt.Errorf("cannot specify both --previous and --tasks"), + }, } for name, tc := range testCases { @@ -128,7 +138,9 @@ func TestSvcLogs_Validate(t *testing.T) { since: tc.inputSince, name: tc.inputSvc, appName: tc.inputApp, + taskIDs: tc.inputTaskIDs, }, + previous: tc.inputPrevious, }, wkldLogOpts: wkldLogOpts{ configStore: mockstore,