gojiはgolangのWebApplicationFrameworkです。 gojiにはMiddlewareという仕組みがあり、これを使うことで、リクエストごとに共通して必要な処理を集約することができます。 gojiはリクエストのロギングを行うMiddlewareが用意されているので、それを参考に見ていきます。 func Logger(c *web.C, h http.Handler) http.Handler { fn := func(w http.ResponseWriter, r *http.Request) { reqID := GetReqID(*c) printStart(reqID, r) lw := mutil.WrapWriter(w) t1 := time.Now() h.ServeHTTP(lw, r) if lw.Status() == 0 { lw.WriteH