log grpc server errors (#196)

This commit is contained in:
JT Olio 2018-08-02 15:52:16 -06:00 committed by GitHub
parent 30e3b503a4
commit 5170057c7f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -8,6 +8,7 @@ import (
"crypto/tls"
"net"
"go.uber.org/zap"
"google.golang.org/grpc"
"storj.io/storj/pkg/peertls"
@ -35,8 +36,11 @@ func NewProvider(identity *FullIdentity, lis net.Listener,
responsibilities ...Responsibility) (*Provider, error) {
return &Provider{
lis: lis,
g: grpc.NewServer(),
lis: lis,
g: grpc.NewServer(
grpc.StreamInterceptor(streamInterceptor),
grpc.UnaryInterceptor(unaryInterceptor),
),
next: responsibilities,
identity: identity,
}, nil
@ -76,3 +80,22 @@ func (p *Provider) TLSConfig() *tls.Config {
LeafCertificate: p.identity.todoCert,
}).NewTLSConfig(nil)
}
func streamInterceptor(srv interface{}, ss grpc.ServerStream,
info *grpc.StreamServerInfo, handler grpc.StreamHandler) (err error) {
err = handler(srv, ss)
if err != nil {
zap.S().Errorf("%+v", err)
}
return err
}
func unaryInterceptor(ctx context.Context, req interface{},
info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (resp interface{},
err error) {
resp, err = handler(ctx, req)
if err != nil {
zap.S().Errorf("%+v", err)
}
return resp, err
}