Make logger customizable
This commit is contained in:
parent
ae39b80fe2
commit
b90b1f9279
2 changed files with 14 additions and 15 deletions
12
logger.go
12
logger.go
|
@ -6,20 +6,18 @@ import (
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Logger logs HTTP requests
|
// Logging logs HTTP requests
|
||||||
func Logger() Adapter {
|
func Logging(logger *log.Logger) Adapter {
|
||||||
return func(next http.Handler) http.Handler {
|
return func(next http.Handler) http.Handler {
|
||||||
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||||
start := time.Now()
|
defer func(start time.Time) {
|
||||||
|
logger.Printf(
|
||||||
defer func() {
|
|
||||||
log.Printf(
|
|
||||||
"%s\t%s\t%s",
|
"%s\t%s\t%s",
|
||||||
r.Method,
|
r.Method,
|
||||||
r.RequestURI,
|
r.RequestURI,
|
||||||
time.Since(start),
|
time.Since(start),
|
||||||
)
|
)
|
||||||
}()
|
}(time.Now())
|
||||||
|
|
||||||
next.ServeHTTP(w, r)
|
next.ServeHTTP(w, r)
|
||||||
})
|
})
|
||||||
|
|
17
main.go
17
main.go
|
@ -25,19 +25,20 @@ func main() {
|
||||||
}
|
}
|
||||||
|
|
||||||
router := mux.NewRouter()
|
router := mux.NewRouter()
|
||||||
|
logger := log.New(os.Stdout, "request: ", log.Lshortfile)
|
||||||
|
|
||||||
router.
|
router.
|
||||||
Methods("GET").
|
Methods("GET").
|
||||||
Path("/").
|
Path("/").
|
||||||
Handler(Adapt(IndexHandler(), Logger()))
|
Handler(Adapt(IndexHandler(), Logging(logger)))
|
||||||
router.
|
router.
|
||||||
Methods("GET").
|
Methods("GET").
|
||||||
Path("/buckets").
|
Path("/buckets").
|
||||||
Handler(Adapt(s.BucketsPageHandler(), Logger()))
|
Handler(Adapt(s.BucketsPageHandler(), Logging(logger)))
|
||||||
router.
|
router.
|
||||||
Methods("GET").
|
Methods("GET").
|
||||||
Path("/buckets/{bucketName}").
|
Path("/buckets/{bucketName}").
|
||||||
Handler(Adapt(s.BucketPageHandler(), Logger()))
|
Handler(Adapt(s.BucketPageHandler(), Logging(logger)))
|
||||||
|
|
||||||
api := router.PathPrefix("/api").Subrouter()
|
api := router.PathPrefix("/api").Subrouter()
|
||||||
|
|
||||||
|
@ -45,23 +46,23 @@ func main() {
|
||||||
buckets.
|
buckets.
|
||||||
Methods("POST").
|
Methods("POST").
|
||||||
Path("").
|
Path("").
|
||||||
Handler(Adapt(s.CreateBucketHandler(), Logger()))
|
Handler(Adapt(s.CreateBucketHandler(), Logging(logger)))
|
||||||
buckets.
|
buckets.
|
||||||
Methods("DELETE").
|
Methods("DELETE").
|
||||||
Path("/{bucketName}").
|
Path("/{bucketName}").
|
||||||
Handler(Adapt(s.DeleteBucketHandler(), Logger()))
|
Handler(Adapt(s.DeleteBucketHandler(), Logging(logger)))
|
||||||
buckets.
|
buckets.
|
||||||
Methods("POST").
|
Methods("POST").
|
||||||
Path("/{bucketName}/objects").
|
Path("/{bucketName}/objects").
|
||||||
Handler(Adapt(s.CreateObjectHandler(), Logger()))
|
Handler(Adapt(s.CreateObjectHandler(), Logging(logger)))
|
||||||
buckets.
|
buckets.
|
||||||
Methods("GET").
|
Methods("GET").
|
||||||
Path("/{bucketName}/objects/{objectName}").
|
Path("/{bucketName}/objects/{objectName}").
|
||||||
Handler(Adapt(s.GetObjectHandler(), Logger()))
|
Handler(Adapt(s.GetObjectHandler(), Logging(logger)))
|
||||||
buckets.
|
buckets.
|
||||||
Methods("DELETE").
|
Methods("DELETE").
|
||||||
Path("/{bucketName}/objects/{objectName}").
|
Path("/{bucketName}/objects/{objectName}").
|
||||||
Handler(Adapt(s.DeleteObjectHandler(), Logger()))
|
Handler(Adapt(s.DeleteObjectHandler(), Logging(logger)))
|
||||||
|
|
||||||
log.Fatal(http.ListenAndServe(":"+port, router))
|
log.Fatal(http.ListenAndServe(":"+port, router))
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue