diff --git a/src/internal/kopia/wrapper.go b/src/internal/kopia/wrapper.go index 9184b3147..af1ebdcb7 100644 --- a/src/internal/kopia/wrapper.go +++ b/src/internal/kopia/wrapper.go @@ -281,6 +281,8 @@ func getStreamItemFunc( ctx, end := D.Span(ctx, "kopia:getStreamItemFunc") defer end() + log := logger.Ctx(ctx) + // Collect all errors and return them at the end so that iteration for this // directory doesn't end early. var errs *multierror.Error @@ -314,11 +316,12 @@ func getStreamItemFunc( err = errors.Wrap(err, "getting full item path") errs = multierror.Append(errs, err) - logger.Ctx(ctx).Error(err) + log.Error(err) continue } + log.Debugw("reading item", "path", itemPath.String()) trace.Log(ctx, "kopia:getStreamItemFunc:item", itemPath.String()) ei, ok := e.(data.StreamInfo) @@ -326,8 +329,7 @@ func getStreamItemFunc( errs = multierror.Append( errs, errors.Errorf("item %q does not implement DataStreamInfo", itemPath)) - logger.Ctx(ctx).Errorw( - "item does not implement DataStreamInfo; skipping", "path", itemPath) + log.Errorw("item does not implement DataStreamInfo; skipping", "path", itemPath) continue } diff --git a/src/internal/observe/observe.go b/src/internal/observe/observe.go index fc50cfd29..62abff5d8 100644 --- a/src/internal/observe/observe.go +++ b/src/internal/observe/observe.go @@ -174,7 +174,7 @@ func MessageWithCompletion(message string) (chan<- struct{}, func()) { mpb.SpinnerStyle(frames...).PositionLeft(), mpb.PrependDecorators( decor.Name(message), - decor.Elapsed(decor.ET_STYLE_GO, decor.WC{W: 4}), + decor.Elapsed(decor.ET_STYLE_GO, decor.WC{W: 8}), ), mpb.BarFillerOnComplete("done"), ) diff --git a/src/pkg/logger/logger.go b/src/pkg/logger/logger.go index 231334d89..6befdb85b 100644 --- a/src/pkg/logger/logger.go +++ b/src/pkg/logger/logger.go @@ -25,6 +25,7 @@ const ( Info Warn Production + Disabled ) const logLevelFN = "log-level" @@ -80,6 +81,8 @@ func genLogger(level logLevel) (*zapcore.Core, *zap.SugaredLogger) { return lvl >= zapcore.WarnLevel case Production: return lvl >= zapcore.ErrorLevel + case Disabled: + return false default: return true } @@ -104,6 +107,8 @@ func genLogger(level logLevel) (*zapcore.Core, *zap.SugaredLogger) { cfg.Level = zap.NewAtomicLevelAt(zapcore.InfoLevel) case Warn: cfg.Level = zap.NewAtomicLevelAt(zapcore.WarnLevel) + case Disabled: + cfg.Level = zap.NewAtomicLevelAt(zapcore.FatalLevel) } lgr, err = cfg.Build() @@ -191,6 +196,8 @@ func levelOf(lvl string) logLevel { return Warn case "error": return Production + case "disabled": + return Disabled } return Info diff --git a/src/pkg/selectors/selectors.go b/src/pkg/selectors/selectors.go index 38ae1fa15..74f910a1b 100644 --- a/src/pkg/selectors/selectors.go +++ b/src/pkg/selectors/selectors.go @@ -58,7 +58,7 @@ const ( ) var ( - delimiter = fmt.Sprint(0x1F) + delimiter = string('\x1F') passAny = filters.Pass() failAny = filters.Fail() )