MCPcopy
hub / github.com/cloudfoundry/cli / streamLogs

Method streamLogs

command/v7/logs_command.go:133–173  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

131}
132
133func (cmd LogsCommand) streamLogs() error {
134 messages, logErrs, stopStreaming, warnings, err := cmd.Actor.GetStreamingLogsForApplicationByNameAndSpace(
135 cmd.RequiredArgs.AppName,
136 cmd.Config.TargetedSpace().GUID,
137 cmd.LogCacheClient,
138 )
139
140 cmd.UI.DisplayWarnings(warnings)
141 if err != nil {
142 return err
143 }
144 c := make(chan os.Signal, 1)
145 signal.Notify(c, os.Interrupt)
146
147 defer stopStreaming()
148 var messagesClosed, errLogsClosed bool
149 for {
150 select {
151 case message, ok := <-messages:
152 if !ok {
153 messagesClosed = true
154 break
155 }
156 cmd.UI.DisplayLogMessage(message, true)
157 case logErr, ok := <-logErrs:
158 if !ok {
159 errLogsClosed = true
160 break
161 }
162 cmd.handleLogErr(logErr)
163 case <-c:
164 return nil
165 }
166
167 if messagesClosed && errLogsClosed {
168 break
169 }
170 }
171
172 return nil
173}

Callers 1

ExecuteMethod · 0.95

Calls 5

handleLogErrMethod · 0.95
TargetedSpaceMethod · 0.65
DisplayWarningsMethod · 0.65
DisplayLogMessageMethod · 0.65

Tested by

no test coverage detected