+++ /dev/null
-package main
-
-import (
- "time"
-
- "github.com/go-kit/kit/log"
-)
-
-func loggingMiddleware(logger log.Logger) ServiceMiddleware {
- return func(next StringService) StringService {
- return logmw{logger, next}
- }
-}
-
-type logmw struct {
- logger log.Logger
- StringService
-}
-
-func (mw logmw) Uppercase(s string) (output string, err error) {
- defer func(begin time.Time) {
- _ = mw.logger.Log(
- "method", "uppercase",
- "input", s,
- "output", output,
- "err", err,
- "took", time.Since(begin),
- )
- }(time.Now())
-
- output, err = mw.StringService.Uppercase(s)
- return
-}
-
-func (mw logmw) Count(s string) (n int) {
- defer func(begin time.Time) {
- _ = mw.logger.Log(
- "method", "count",
- "input", s,
- "n", n,
- "took", time.Since(begin),
- )
- }(time.Now())
-
- n = mw.StringService.Count(s)
- return
-}