Add logging for generic handler errors.

Signed-off-by: Richard Scothern <richard.scothern@gmail.com>
This commit is contained in:
Richard 2015-04-20 16:35:09 -07:00
parent 3802701cdc
commit 431811056b

View file

@ -365,11 +365,25 @@ func (app *App) dispatcher(dispatch dispatchFunc) http.Handler {
// future refactoring. // future refactoring.
w.WriteHeader(http.StatusBadRequest) w.WriteHeader(http.StatusBadRequest)
} }
app.logError(context, context.Errors)
serveJSON(w, context.Errors) serveJSON(w, context.Errors)
} }
}) })
} }
func (app *App) logError(context context.Context, errors v2.Errors) {
for _, e := range errors.Errors {
c := ctxu.WithValue(context, "err.code", e.Code)
c = ctxu.WithValue(c, "err.message", e.Message)
c = ctxu.WithValue(c, "err.detail", e.Detail)
c = ctxu.WithLogger(c, ctxu.GetLogger(c,
"err.code",
"err.message",
"err.detail"))
ctxu.GetLogger(c).Errorf("An error occured")
}
}
// context constructs the context object for the application. This only be // context constructs the context object for the application. This only be
// called once per request. // called once per request.
func (app *App) context(w http.ResponseWriter, r *http.Request) *Context { func (app *App) context(w http.ResponseWriter, r *http.Request) *Context {