Skip to content

Commit 8d1fb3b

Browse files
authored
Merge pull request #364 from bookingcom/emadolsky/refactor-log-levels
Refactor log levels
2 parents 16bb7b7 + 4111539 commit 8d1fb3b

File tree

4 files changed

+112
-105
lines changed

4 files changed

+112
-105
lines changed

app/carbonapi/app.go

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"errors"
55
"expvar"
66
"fmt"
7+
"go.uber.org/zap/zapcore"
78
"net"
89
"net/http"
910
"os"
@@ -383,24 +384,27 @@ func setUpConfig(app *App, logger *zap.Logger) {
383384

384385
}
385386

386-
func (app *App) deferredAccessLogging(accessLogger *zap.Logger, r *http.Request, accessLogDetails *carbonapipb.AccessLogDetails, t time.Time, logAsError bool) {
387+
func (app *App) deferredAccessLogging(accessLogger *zap.Logger, r *http.Request, accessLogDetails *carbonapipb.AccessLogDetails, t time.Time, level zapcore.Level) {
387388
accessLogDetails.Runtime = time.Since(t).Seconds()
388389
accessLogDetails.RequestMethod = r.Method
389390

390391
fields, err := accessLogDetails.GetLogFields()
391392
if err != nil {
392393
accessLogger.Error("could not marshal access log details", zap.Error(err))
393394
}
394-
395-
// TODO (grzkv) This logic is not obvious for the user
396-
if logAsError {
397-
accessLogger.Error("request failed", fields...)
398-
apiMetrics.Errors.Add(1)
399-
} else {
400-
// TODO (grzkv) The code can differ from the real one. Clean up
401-
// accessLogDetails.HttpCode = http.StatusOK
402-
accessLogger.Info("request served", fields...)
395+
var logMsg string
396+
if accessLogDetails.HttpCode/100 < 4 {
397+
logMsg = "request served"
398+
apiMetrics.Responses.Add(1)
399+
} else if accessLogDetails.HttpCode/100 == 4 {
400+
logMsg = "request failed with client error"
403401
apiMetrics.Responses.Add(1)
402+
} else {
403+
logMsg = "request failed with server error"
404+
apiMetrics.Errors.Add(1)
405+
}
406+
if ce := accessLogger.Check(level, logMsg); ce != nil {
407+
ce.Write(fields...)
404408
}
405409

406410
if app != nil {

0 commit comments

Comments
 (0)