diff --git a/internal/middleware/logging/logging.go b/internal/middleware/logging/logging.go index 92c8eb51058..273a7b1d350 100644 --- a/internal/middleware/logging/logging.go +++ b/internal/middleware/logging/logging.go @@ -20,9 +20,7 @@ func Log(title string, next middleware.Action) middleware.Action { return func(ctx *context.Context) error { start := time.Now() defer func() { - if took := time.Since(start).Round(time.Second); took > 0 { - log.Info(faint.Render(fmt.Sprintf("took: %s", took))) - } + logDuration(start) log.ResetPadding() }() log.Infof(bold.Render(title)) @@ -34,7 +32,11 @@ func Log(title string, next middleware.Action) middleware.Action { // PadLog pretty prints the given action and its title with an increased padding. func PadLog(title string, next middleware.Action) middleware.Action { return func(ctx *context.Context) error { - defer log.ResetPadding() + start := time.Now() + defer func() { + logDuration(start) + log.ResetPadding() + }() log.ResetPadding() log.IncreasePadding() log.Infof(bold.Render(title)) @@ -42,3 +44,9 @@ func PadLog(title string, next middleware.Action) middleware.Action { return next(ctx) } } + +func logDuration(start time.Time) { + if took := time.Since(start).Round(time.Second); took > 0 { + log.Info(faint.Render(fmt.Sprintf("took: %s", took))) + } +}