1
0
Fork 0
upl/logger.go

25 lines
506 B
Go
Raw Permalink Normal View History

2021-05-23 00:46:15 +08:00
package main
import (
"log"
"net/http"
)
type loggerResponseWriter struct {
http.ResponseWriter
statusCode int
}
func (w *loggerResponseWriter) WriteHeader(code int) {
w.statusCode = code
w.ResponseWriter.WriteHeader(code)
}
2021-05-23 00:46:15 +08:00
func middlewareLogger(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
lw := &loggerResponseWriter{w, http.StatusOK}
next.ServeHTTP(lw, r)
log.Printf("%s %s: %d", r.Method, r.RequestURI, lw.statusCode)
2021-05-23 00:46:15 +08:00
})
}