Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

smallstep/logging

Repository files navigation

logging

GoDoc License

Logging is a collection of collection of packages to make easy the logging experience.

Logging is currently in active development and it's API WILL CHANGE WITHOUT NOTICE.

logging/httplog - the HTTP middleware

Httplog implements and HTTP middleware that can optionally log the raw request and responses.

package main
import (
 "fmt"
 "log"
 "net/http"
 "github.com/smallstep/logging"
 "github.com/smallstep/logging/httplog"
)
func main() {
 logger, err := logging.New("scim",
 logging.WithLogResponses(),
 logging.WithLogRequests(),
 )
 if err != nil {
 log.Fatal(err)
 }
 http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
 fmt.Fprintln(w, "Hello World!")
 })
 srv := &http.Server{
 Addr: ":8080",
 Handler: httplog.Middleware(logger, http.DefaultServeMux),
 ErrorLog: logger.StdLogger(logging.ErrorLevel),
 }
 logger.Infof("start listening at %s.", srv.Addr)
 log.Fatal(srv.ListenAndServe())
}

A simple curl http://localhost:8080 will print the following logs:

$ go run examples/httplog.go
{"level":"info","ts":1582944317.382856,"caller":"logging/logger.go:87","msg":"start listening at :8080."}
{"level":"info","ts":1582944330.861353,"caller":"httplog/handler.go:121","msg":"","name":"scim","request-id":"bpct0ijipt3avli7utp0","remote-address":"::1","time":"2020年02月28日T18:45:30-08:00","duration":0.000064785,"duration-ns":64785,"method":"GET","path":"/","protocol":"HTTP/1.1","status":200,"size":13,"referer":"","user-agent":"curl/7.64.1","request":"R0VUIC8gSFRUUC8xLjENCkhvc3Q6IGxvY2FsaG9zdDo4MDgwDQpBY2NlcHQ6ICovKg0KVXNlci1BZ2VudDogY3VybC83LjY0LjENClgtVHJhY2UtSWQ6IGJwY3QwaWppcHQzYXZsaTd1dHAwDQoNCg==","response":"SGVsbG8gV29ybGQhCg=="}

About

Log with confidence

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 6

AltStyle によって変換されたページ (->オリジナル) /