(args []string)
| 35 | } |
| 36 | |
| 37 | func (cmd LogsCommand) Execute(args []string) error { |
| 38 | err := cmd.SharedActor.CheckTarget(true, true) |
| 39 | if err != nil { |
| 40 | return err |
| 41 | } |
| 42 | |
| 43 | user, err := cmd.Actor.GetCurrentUser() |
| 44 | if err != nil { |
| 45 | return err |
| 46 | } |
| 47 | |
| 48 | cmd.UI.DisplayTextWithFlavor("Retrieving logs for app {{.AppName}} in org {{.OrgName}} / space {{.SpaceName}} as {{.Username}}...", |
| 49 | map[string]interface{}{ |
| 50 | "AppName": cmd.RequiredArgs.AppName, |
| 51 | "OrgName": cmd.Config.TargetedOrganization().Name, |
| 52 | "SpaceName": cmd.Config.TargetedSpace().Name, |
| 53 | "Username": user.Name, |
| 54 | }) |
| 55 | cmd.UI.DisplayNewline() |
| 56 | |
| 57 | if cmd.Recent { |
| 58 | return cmd.displayRecentLogs() |
| 59 | } |
| 60 | |
| 61 | if !cmd.Config.IsCFOnK8s() { |
| 62 | stop := make(chan struct{}) |
| 63 | stoppedRefreshing := make(chan struct{}) |
| 64 | stoppedOutputtingRefreshErrors := make(chan struct{}) |
| 65 | err = cmd.refreshTokenPeriodically(stop, stoppedRefreshing, stoppedOutputtingRefreshErrors) |
| 66 | if err != nil { |
| 67 | return err |
| 68 | } |
| 69 | defer func() { |
| 70 | close(stop) |
| 71 | <-stoppedRefreshing |
| 72 | <-stoppedOutputtingRefreshErrors |
| 73 | }() |
| 74 | } |
| 75 | |
| 76 | err = cmd.streamLogs() |
| 77 | |
| 78 | return err |
| 79 | } |
| 80 | |
| 81 | func (cmd LogsCommand) displayRecentLogs() error { |
| 82 | messages, warnings, err := cmd.Actor.GetRecentLogsForApplicationByNameAndSpace( |
nothing calls this directly
no test coverage detected