in http/server/logging/logging.go [42:65]
func (l *loggingMiddleware) ServeHTTP(w http.ResponseWriter, r *http.Request) {
customWriter := logging.NewResponseWriter(w)
startTime := l.now()
ctx := r.Context()
l.LogRequestStart(ctx, r, "RequestStart")
l.next.ServeHTTP(customWriter, r)
endTime := l.now()
latency := endTime.Sub(startTime)
errorMsg := customWriter.Buf.String()
data := RequestLogData{
Code: customWriter.StatusCode,
Duration: latency,
Error: errorMsg,
}
// TODO (tomabraham): move RequestStart and RequestEnd to a different interceptor
// ApiRequestLog should only get "finished call" logs
l.LogRequestEnd(ctx, r, "RequestEnd", data)
l.LogRequestEnd(ctx, r, "finished call", data)
}