diff --git a/internal/logger/logger.go b/internal/logger/logger.go index dfe2ea7ec..fb3f755f3 100644 --- a/internal/logger/logger.go +++ b/internal/logger/logger.go @@ -20,10 +20,8 @@ package logger import ( "context" "encoding/hex" - "errors" "fmt" "go/build" - "net/http" "path/filepath" "reflect" "runtime" @@ -255,18 +253,9 @@ func LogAlwaysIf(ctx context.Context, err error, errKind ...interface{}) { // the execution of the server, if it is not an // ignored error. func LogIf(ctx context.Context, err error, errKind ...interface{}) { - if err == nil { + if logIgnoreError(err) { return } - - if errors.Is(err, context.Canceled) { - return - } - - if err.Error() == http.ErrServerClosed.Error() || err.Error() == "disk not found" { - return - } - logIf(ctx, err, errKind...) } diff --git a/internal/logger/logonce.go b/internal/logger/logonce.go index e15eaf93f..13c98fa4e 100644 --- a/internal/logger/logonce.go +++ b/internal/logger/logonce.go @@ -19,8 +19,6 @@ package logger import ( "context" - "errors" - "net/http" "sync" "time" ) @@ -98,34 +96,16 @@ var logOnce = newLogOnceType() // id is a unique identifier for related log messages, refer to cmd/notification.go // on how it is used. func LogOnceIf(ctx context.Context, err error, id interface{}, errKind ...interface{}) { - if err == nil { + if logIgnoreError(err) { return } - - if errors.Is(err, context.Canceled) { - return - } - - if err.Error() == http.ErrServerClosed.Error() || err.Error() == "disk not found" { - return - } - logOnce.logOnceIf(ctx, err, id, errKind...) } // LogOnceConsoleIf - similar to LogOnceIf but exclusively only logs to console target. func LogOnceConsoleIf(ctx context.Context, err error, id interface{}, errKind ...interface{}) { - if err == nil { + if logIgnoreError(err) { return } - - if errors.Is(err, context.Canceled) { - return - } - - if err.Error() == http.ErrServerClosed.Error() || err.Error() == "disk not found" { - return - } - logOnce.logOnceConsoleIf(ctx, err, id, errKind...) } diff --git a/internal/logger/utils.go b/internal/logger/utils.go index 4c503489c..072180d39 100644 --- a/internal/logger/utils.go +++ b/internal/logger/utils.go @@ -18,7 +18,10 @@ package logger import ( + "context" + "errors" "fmt" + "net/http" "regexp" "runtime" @@ -59,3 +62,8 @@ func ansiRestoreAttributes() { ansiEscape("8") } } + +// logIgnoreError if true,the error will ignore. +func logIgnoreError(err error) bool { + return err == nil || errors.Is(err, context.Canceled) || errors.Is(err, http.ErrServerClosed) || err.Error() == "disk not found" +}