add logging to device block service (#425)

This commit is contained in:
Victor Vrantchan
2018-05-29 07:41:57 -04:00
committed by GitHub
parent dcd0ec4a41
commit 1916f2a2f5
4 changed files with 55 additions and 4 deletions

View File

@@ -171,9 +171,13 @@ func serve(args []string) error {
stdlog.Fatal(sm.err)
}
removeService, err := block.New(sm.removeDB)
if err != nil {
stdlog.Fatal(err)
var removeService block.Service
{
svc, err := block.New(sm.removeDB)
if err != nil {
stdlog.Fatal(err)
}
removeService = block.LoggingMiddleware(logger)(svc)
}
devDB, err := devicebuiltin.NewDB(sm.db, sm.pubclient)

View File

@@ -4,6 +4,7 @@ import (
"context"
"net/http"
"net/url"
"time"
"github.com/go-kit/kit/endpoint"
"github.com/gorilla/mux"
@@ -70,3 +71,17 @@ func (e Endpoints) BlockDevice(ctx context.Context, udid string) error {
}
return resp.(blockDeviceResponse).Err
}
func (mw logmw) BlockDevice(ctx context.Context, udid string) (err error) {
defer func(begin time.Time) {
_ = mw.logger.Log(
"method", "BlockDevice",
"udid", udid,
"err", err,
"took", time.Since(begin),
)
}(time.Now())
err = mw.next.BlockDevice(ctx, udid)
return
}

View File

@@ -1,6 +1,10 @@
package remove
import "context"
import (
"context"
"github.com/go-kit/kit/log"
)
type Service interface {
BlockDevice(ctx context.Context, udid string) error
@@ -20,3 +24,16 @@ type RemoveService struct {
func New(store Store) (*RemoveService, error) {
return &RemoveService{store: store}, nil
}
type Middleware func(next Service) Service
func LoggingMiddleware(logger log.Logger) Middleware {
return func(next Service) Service {
return logmw{logger: logger, next: next}
}
}
type logmw struct {
logger log.Logger
next Service
}

View File

@@ -5,6 +5,7 @@ import (
"errors"
"net/http"
"net/url"
"time"
"github.com/go-kit/kit/endpoint"
"github.com/gorilla/mux"
@@ -68,3 +69,17 @@ func (e Endpoints) UnblockDevice(ctx context.Context, udid string) error {
}
return resp.(unblockDeviceResponse).Err
}
func (mw logmw) UnblockDevice(ctx context.Context, udid string) (err error) {
defer func(begin time.Time) {
_ = mw.logger.Log(
"method", "BlockDevice",
"udid", udid,
"err", err,
"took", time.Since(begin),
)
}(time.Now())
err = mw.next.UnblockDevice(ctx, udid)
return
}