Log disk not found error just once (#6059)

Modified the LogIf function to log only if the error passed
is not on the ignored errors list.

Currently, only disk not found error is added to the list.
Added a new function in logger package called LogAlwaysIf, 
which will print on any error.

Fixes #5997
This commit is contained in:
kannappanr
2018-08-14 13:58:48 -07:00
committed by Harshavardhana
parent ff29aed05d
commit 0286e61aee
7 changed files with 29 additions and 13 deletions

View File

@@ -47,6 +47,11 @@ const (
const loggerTimeFormat string = "15:04:05 MST 01/02/2006"
// List of error strings to be ignored by LogIf
const (
diskNotFoundError = "disk not found"
)
var matchingFuncNames = [...]string{
"http.HandlerFunc.ServeHTTP",
"cmd.serverMain",
@@ -267,17 +272,36 @@ func getTrace(traceLevel int) []string {
return trace
}
// LogIf prints a detailed error message during
// LogAlwaysIf prints a detailed error message during
// the execution of the server.
func LogIf(ctx context.Context, err error) {
if Disable {
func LogAlwaysIf(ctx context.Context, err error) {
if err == nil {
return
}
logIf(ctx, err)
}
// LogIf prints a detailed error message during
// the execution of the server, if it is not an
// ignored error.
func LogIf(ctx context.Context, err error) {
if err == nil {
return
}
if err.Error() != diskNotFoundError {
logIf(ctx, err)
}
}
// logIf prints a detailed error message during
// the execution of the server.
func logIf(ctx context.Context, err error) {
if Disable {
return
}
req := GetReqInfo(ctx)
if req == nil {