blob: 0060f4e3c06f4ee390c122ca9fed59c24d06040a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
package log
import (
"context"
"io"
"time"
kitlog "github.com/go-kit/log"
"tildegit.org/tjp/gus"
)
func Requests(out io.Writer, logger kitlog.Logger) gus.Middleware {
if logger == nil {
logger = kitlog.NewLogfmtLogger(kitlog.NewSyncWriter(out))
}
return func(next gus.Handler) gus.Handler {
return func(ctx context.Context, r *gus.Request) (resp *gus.Response) {
start := time.Now()
defer func() {
end := time.Now()
logger.Log(
"msg", "request",
"ts", end,
"dur", end.Sub(start),
"url", r.URL,
"status", resp.Status,
)
}()
return next(ctx, r)
}
}
}
|