Show stacktrace in daemon logs only if 500 internal error

Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: f7d9bb62483fa160553ef17840b1f974b12885ac
Component: engine
This commit is contained in:
Tibor Vass
2017-02-06 10:13:21 -08:00
parent f3c8bbef1f
commit 0ff5a04abc
+6 -1
View File
@@ -138,7 +138,12 @@ func (s *Server) makeHTTPHandler(handler httputils.APIFunc) http.HandlerFunc {
}
if err := handlerFunc(ctx, w, r, vars); err != nil {
logrus.Errorf("Handler for %s %s returned error: %+v", r.Method, r.URL.Path, err)
statusCode := httputils.GetHTTPErrorStatusCode(err)
errFormat := "%v"
if statusCode == http.StatusInternalServerError {
errFormat = "%+v"
}
logrus.Errorf("Handler for %s %s returned error: "+errFormat, r.Method, r.URL.Path, err)
httputils.MakeErrorHandler(err)(w, r)
}
}