MCPcopy Create free account
hub / github.com/cloudfoundry/cli / TailStagingLogs

Method TailStagingLogs

cf/commands/application/start.go:238–265  ·  view source on GitHub ↗
(app models.Application, stopChan chan bool, doneWait *sync.WaitGroup)

Source from the content-addressed store, hash-verified

236)
237
238func (cmd *Start) TailStagingLogs(app models.Application, stopChan chan bool, doneWait *sync.WaitGroup) {
239 c := make(chan logs.Loggable)
240 e := make(chan error)
241 defer doneWait.Done()
242
243 go cmd.logRepo.TailLogsFor(app.GUID, func() {}, c, e)
244 for {
245 select {
246 case msg, ok := <-c:
247 if !ok {
248 cmd.logRepo.Close()
249 return
250 } else if msg.GetSourceName() == LogMessageTypeStaging {
251 cmd.ui.Say(msg.ToSimpleLog())
252 }
253
254 case err, ok := <-e:
255 if ok {
256 cmd.ui.Warn(T("Warning: error tailing logs"))
257 cmd.ui.Say("%s", err)
258 }
259
260 case <-stopChan:
261 cmd.logRepo.Close()
262 return
263 }
264 }
265}
266
267func (cmd *Start) waitForInstancesToStage(app models.Application) (bool, error) {
268 stagingStartTime := time.Now()

Callers 2

WatchStagingMethod · 0.95
start_test.goFile · 0.80

Calls 6

TailLogsForMethod · 0.65
CloseMethod · 0.65
GetSourceNameMethod · 0.65
SayMethod · 0.65
ToSimpleLogMethod · 0.65
WarnMethod · 0.65

Tested by

no test coverage detected