Я нашел c.MapTo
в файле Readme Мартини. Если я правильно понимаю, это должно работать:
bm.Use(func(res http.ResponseWriter, req *http.Request, c martini.Context, log *logging.Logger, statter statsd.Statter) {
var rsp bytes.Buffer
rw := io.MultiWriter(res, &rsp)
c.MapTo(rw, (*http.ResponseWriter)(nil))
c.Next() // do all the middleware handler stuff
if res.(martini.ResponseWriter).Status() > 399 {
log.Warning("%v", rsp.String())
}
})
Обратите внимание, что я не знаком с Мартини, поэтому я не уверен, будет ли это работать.