| 1234567891011121314151617181920212223242526272829303132333435 | 
							- package user
 
- import (
 
- 	"context"
 
- 	"github.com/go-kit/kit/log"
 
- 	"time"
 
- )
 
- type ServiceMiddleware func(service UserService) UserService
 
- type loggingMiddleware struct {
 
- 	UserService
 
- 	logger log.Logger
 
- }
 
- func LoggingMiddleware(logger log.Logger) ServiceMiddleware {
 
- 	return func(next UserService) UserService {
 
- 		return loggingMiddleware{next, logger}
 
- 	}
 
- }
 
- func (mw loggingMiddleware) CheckPassword(ctx context.Context, username, password string) (ret bool, err error) {
 
- 	defer func(begin time.Time) {
 
- 		mw.logger.Log(
 
- 			"function", "CheckPassword",
 
- 			"username", username,
 
- 			"result", ret,
 
- 			"took", time.Since(begin),
 
- 		)
 
- 	}(time.Now())
 
- 	ret, err = mw.UserService.CheckPassword(ctx, username, password)
 
- 	return ret, err
 
- }
 
 
  |