Skip to content

Commit

Permalink
feat: add step name to logger field (#1027)
Browse files Browse the repository at this point in the history
* feat: add step name to logger field

This change does add the step name to the logger fields. This does
not change the output for our users, but for the json logger, it
does make each step output traceable.

* fix: remove new logger

Since logrus and context both are immutable for our case, we
can just add a new field and store the logger in the context.

Co-authored-by: Casey Lee <cplee@nektos.com>
Co-authored-by: Björn Brauer <bjoern.brauer@new-work.se>
  • Loading branch information
3 people authored Mar 14, 2022
1 parent aab2af0 commit 6b05957
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 9 deletions.
21 changes: 12 additions & 9 deletions pkg/runner/job_executor.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,15 +37,18 @@ func newJobExecutor(info jobInfo) common.Executor {
}
stepExec := info.newStepExecutor(step)
steps = append(steps, func(ctx context.Context) error {
err := stepExec(ctx)
if err != nil {
common.Logger(ctx).Errorf("%v", err)
common.SetJobError(ctx, err)
} else if ctx.Err() != nil {
common.Logger(ctx).Errorf("%v", ctx.Err())
common.SetJobError(ctx, ctx.Err())
}
return nil
stepName := step.String()
return (func(ctx context.Context) error {
err := stepExec(ctx)
if err != nil {
common.Logger(ctx).Errorf("%v", err)
common.SetJobError(ctx, err)
} else if ctx.Err() != nil {
common.Logger(ctx).Errorf("%v", ctx.Err())
common.SetJobError(ctx, ctx.Err())
}
return nil
})(withStepLogger(ctx, stepName))
})
}

Expand Down
5 changes: 5 additions & 0 deletions pkg/runner/logger.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,11 @@ func WithJobLogger(ctx context.Context, jobName string, config *Config, masks *[
return common.WithLogger(ctx, rtn)
}

func withStepLogger(ctx context.Context, stepName string) context.Context {
rtn := common.Logger(ctx).WithFields(logrus.Fields{"step": stepName})
return common.WithLogger(ctx, rtn)
}

type entryProcessor func(entry *logrus.Entry) *logrus.Entry

func valueMasker(insecureSecrets bool, secrets map[string]string, masks *[]string) entryProcessor {
Expand Down

0 comments on commit 6b05957

Please sign in to comment.