MCPcopy Index your code
hub / github.com/coder/envbox / scanIntoLog

Function scanIntoLog

background/process.go:223–254  ·  view source on GitHub ↗
(ctx context.Context, log slog.Logger, scanner *bufio.Scanner, binaryName string)

Source from the content-addressed store, hash-verified

221}
222
223func scanIntoLog(ctx context.Context, log slog.Logger, scanner *bufio.Scanner, binaryName string) {
224 for scanner.Scan() {
225 select {
226 case <-ctx.Done():
227 return
228 default:
229 }
230
231 var (
232 line = scanner.Text()
233 logFn = log.Info
234 )
235
236 //nolint:gocritic
237 if strings.Contains(line, "level=debug") {
238 logFn = log.Debug
239 } else if strings.Contains(line, "level=info") {
240 logFn = log.Info
241 } else if strings.Contains(line, "level=warning") {
242 logFn = log.Warn
243 } else if strings.Contains(line, "level=error") {
244 logFn = log.Error
245 } else if strings.Contains(line, "level=fatal") {
246 logFn = log.Error
247 }
248
249 logFn(ctx, "child log",
250 slog.F("process", binaryName),
251 slog.F("content", line),
252 )
253 }
254}
255
256var ErrUserKilled = xerrors.Errorf("daemon killed by user")
257

Callers 1

startProcessMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected