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
- }
|