MCPcopy
hub / github.com/cli/cli / followLogs

Function followLogs

pkg/cmd/agent-task/create/create.go:263–287  ·  view source on GitHub ↗
(opts *CreateOptions, capiClient capi.CapiClient, sessionID string)

Source from the content-addressed store, hash-verified

261}
262
263func followLogs(opts *CreateOptions, capiClient capi.CapiClient, sessionID string) error {
264 if err := opts.IO.StartPager(); err == nil {
265 defer opts.IO.StopPager()
266 } else {
267 fmt.Fprintf(opts.IO.ErrOut, "error starting pager: %v\n", err)
268 }
269
270 ctx := context.Background()
271 renderer := opts.LogRenderer()
272
273 var called bool
274 fetcher := func() ([]byte, error) {
275 if called {
276 opts.Sleep(defaultLogPollInterval)
277 }
278 called = true
279 raw, err := capiClient.GetSessionLogs(ctx, sessionID)
280 if err != nil {
281 return nil, err
282 }
283 return raw, nil
284 }
285
286 return renderer.Follow(fetcher, opts.IO.Out, opts.IO)
287}

Callers 1

createRunFunction · 0.85

Calls 4

StartPagerMethod · 0.80
StopPagerMethod · 0.80
GetSessionLogsMethod · 0.65
FollowMethod · 0.65

Tested by

no test coverage detected