redefine log interceptor
This commit is contained in:
parent
74813607a3
commit
66d03f5ccb
@ -1,7 +1,6 @@
|
||||
package dtmcli
|
||||
|
||||
import (
|
||||
"context"
|
||||
"database/sql"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
@ -14,7 +13,6 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/go-resty/resty/v2"
|
||||
grpc "google.golang.org/grpc"
|
||||
)
|
||||
|
||||
// P2E panic to error
|
||||
@ -107,6 +105,9 @@ func MustRemarshal(from interface{}, to interface{}) {
|
||||
E2P(err)
|
||||
}
|
||||
|
||||
// LogFunc log function type
|
||||
type LogFunc func(format string, args ...interface{})
|
||||
|
||||
// Logf 输出日志
|
||||
func Logf(format string, args ...interface{}) {
|
||||
msg := fmt.Sprintf(format, args...)
|
||||
@ -271,19 +272,3 @@ func CheckResult(res interface{}, err error) error {
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
// GrpcServerLog 打印grpc服务端的日志
|
||||
func GrpcServerLog(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (interface{}, error) {
|
||||
Logf("grpc server handling: %s %v", info.FullMethod, req)
|
||||
m, err := handler(ctx, req)
|
||||
Logf("grpc server handled: %s %v result: %v err: %v", info.FullMethod, req, m, err)
|
||||
return m, err
|
||||
}
|
||||
|
||||
// GrpcClientLog 打印grpc服务端的日志
|
||||
func GrpcClientLog(ctx context.Context, method string, req, reply interface{}, cc *grpc.ClientConn, invoker grpc.UnaryInvoker, opts ...grpc.CallOption) error {
|
||||
Logf("grpc client calling: %s%s %v", cc.Target(), method, req)
|
||||
err := invoker(ctx, method, req, reply, cc, opts...)
|
||||
Logf("grpc client called: %s%s %v result: %v err: %v", cc.Target(), method, req, reply, err)
|
||||
return err
|
||||
}
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package dtmpb
|
||||
|
||||
import (
|
||||
context "context"
|
||||
"strings"
|
||||
|
||||
"github.com/yedf/dtm/dtmcli"
|
||||
@ -12,7 +13,7 @@ var clients = map[string]*grpc.ClientConn{}
|
||||
// GetGrpcConn 1
|
||||
func GetGrpcConn(grpcServer string) (conn *grpc.ClientConn, rerr error) {
|
||||
if clients[grpcServer] == nil {
|
||||
conn, err := grpc.Dial(grpcServer, grpc.WithInsecure(), grpc.WithBlock(), grpc.WithUnaryInterceptor(dtmcli.GrpcClientLog))
|
||||
conn, err := grpc.Dial(grpcServer, grpc.WithInsecure(), grpc.WithBlock(), grpc.WithUnaryInterceptor(GrpcClientLog))
|
||||
if err == nil {
|
||||
clients[grpcServer] = conn
|
||||
dtmcli.Logf("dtm client inited for %s", grpcServer)
|
||||
@ -41,3 +42,21 @@ func GetServerAndMethod(grpcURL string) (string, string) {
|
||||
method := "/" + strings.Join(fs[1:], "/")
|
||||
return server, method
|
||||
}
|
||||
|
||||
// GrpcServerLog 打印grpc服务端的日志
|
||||
func GrpcServerLog(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (interface{}, error) {
|
||||
dtmcli.Logf("grpc server handling: %s %v", info.FullMethod, req)
|
||||
m, err := handler(ctx, req)
|
||||
log := dtmcli.If(err != nil, dtmcli.LogRedf, dtmcli.Logf).(dtmcli.LogFunc)
|
||||
log("grpc server handled: %s %v result: %v err: %v", info.FullMethod, req, m, err)
|
||||
return m, err
|
||||
}
|
||||
|
||||
// GrpcClientLog 打印grpc服务端的日志
|
||||
func GrpcClientLog(ctx context.Context, method string, req, reply interface{}, cc *grpc.ClientConn, invoker grpc.UnaryInvoker, opts ...grpc.CallOption) error {
|
||||
dtmcli.Logf("grpc client calling: %s%s %v", cc.Target(), method, req)
|
||||
err := invoker(ctx, method, req, reply, cc, opts...)
|
||||
log := dtmcli.If(err != nil, dtmcli.LogRedf, dtmcli.Logf).(dtmcli.LogFunc)
|
||||
log("grpc client called: %s%s %v result: %v err: %v", cc.Target(), method, req, reply, err)
|
||||
return err
|
||||
}
|
||||
|
||||
@ -26,7 +26,7 @@ func StartSvr() {
|
||||
|
||||
lis, err := net.Listen("tcp", fmt.Sprintf(":%d", dtmsvrGrpcPort))
|
||||
dtmcli.FatalIfError(err)
|
||||
s := grpc.NewServer(grpc.UnaryInterceptor(dtmcli.GrpcServerLog))
|
||||
s := grpc.NewServer(grpc.UnaryInterceptor(dtmpb.GrpcServerLog))
|
||||
dtmpb.RegisterDtmServer(s, &dtmServer{})
|
||||
dtmcli.Logf("grpc listening at %v", lis.Addr())
|
||||
go func() {
|
||||
|
||||
@ -38,14 +38,14 @@ func BaseAppStartup() *gin.Engine {
|
||||
dtmcli.Logf("Starting busi at: %d", BusiPort)
|
||||
go app.Run(fmt.Sprintf(":%d", BusiPort))
|
||||
|
||||
conn, err := grpc.Dial(DtmGrpcServer, grpc.WithInsecure(), grpc.WithBlock(), grpc.WithUnaryInterceptor(dtmcli.GrpcClientLog))
|
||||
conn, err := grpc.Dial(DtmGrpcServer, grpc.WithInsecure(), grpc.WithBlock(), grpc.WithUnaryInterceptor(dtmpb.GrpcClientLog))
|
||||
dtmcli.FatalIfError(err)
|
||||
DtmClient = dtmpb.NewDtmClient(conn)
|
||||
dtmcli.Logf("dtm client inited")
|
||||
|
||||
lis, err := net.Listen("tcp", fmt.Sprintf(":%d", BusiPbPort))
|
||||
dtmcli.FatalIfError(err)
|
||||
s := grpc.NewServer(grpc.UnaryInterceptor(dtmcli.GrpcServerLog))
|
||||
s := grpc.NewServer(grpc.UnaryInterceptor(dtmpb.GrpcServerLog))
|
||||
RegisterBusiServer(s, &busiServer{})
|
||||
dtmcli.Logf("busi grpc listening at %v", lis.Addr())
|
||||
go func() {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user