tracer.go
func (t *WriterTracer) Done(re *Response, err error) (*Response, error) {
	t.EndTime = time.Now().UTC()
	if err != nil {
		fmt.Fprintf(t, "[TRACE] %v %v %v -> ERR: %v", t.EndTime.Sub(t.StartTime), t.Request.Method, t.Request.URL, err)
		return re, err
	}
	fmt.Fprintf(t, "[TRACE] %v %v %v -> STATUS %v", t.EndTime.Sub(t.StartTime), t.Request.Method, t.Request.URL, re.Code())
	return re, err
}
func (t *WriterTracer) Done(re *Response, err error) (*Response, error) {
	t.EndTime = time.Now().UTC()
	if err != nil {
		fmt.Fprintf(t, "[TRACE] %v %v %v -> ERR: %v", t.EndTime.Sub(t.StartTime), t.Request.Method, t.Request.URL, err)
		return re, err
	}
	fmt.Fprintf(t, "[TRACE] %v %v %v -> STATUS %v", t.EndTime.Sub(t.StartTime), t.Request.Method, t.Request.URL, re.Code())
	return re, err
}
// Done is called on a completed request