redefine log interceptor
This commit is contained in:
parent
74813607a3
commit
66d03f5ccb
@ -1,7 +1,6 @@
|
|||||||
package dtmcli
|
package dtmcli
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
|
||||||
"database/sql"
|
"database/sql"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
@ -14,7 +13,6 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/go-resty/resty/v2"
|
"github.com/go-resty/resty/v2"
|
||||||
grpc "google.golang.org/grpc"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// P2E panic to error
|
// P2E panic to error
|
||||||
@ -107,6 +105,9 @@ func MustRemarshal(from interface{}, to interface{}) {
|
|||||||
E2P(err)
|
E2P(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// LogFunc log function type
|
||||||
|
type LogFunc func(format string, args ...interface{})
|
||||||
|
|
||||||
// Logf 输出日志
|
// Logf 输出日志
|
||||||
func Logf(format string, args ...interface{}) {
|
func Logf(format string, args ...interface{}) {
|
||||||
msg := fmt.Sprintf(format, args...)
|
msg := fmt.Sprintf(format, args...)
|
||||||
@ -271,19 +272,3 @@ func CheckResult(res interface{}, err error) error {
|
|||||||
}
|
}
|
||||||
return err
|
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
|
package dtmpb
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
context "context"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/yedf/dtm/dtmcli"
|
"github.com/yedf/dtm/dtmcli"
|
||||||
@ -12,7 +13,7 @@ var clients = map[string]*grpc.ClientConn{}
|
|||||||
// GetGrpcConn 1
|
// GetGrpcConn 1
|
||||||
func GetGrpcConn(grpcServer string) (conn *grpc.ClientConn, rerr error) {
|
func GetGrpcConn(grpcServer string) (conn *grpc.ClientConn, rerr error) {
|
||||||
if clients[grpcServer] == nil {
|
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 {
|
if err == nil {
|
||||||
clients[grpcServer] = conn
|
clients[grpcServer] = conn
|
||||||
dtmcli.Logf("dtm client inited for %s", grpcServer)
|
dtmcli.Logf("dtm client inited for %s", grpcServer)
|
||||||
@ -41,3 +42,21 @@ func GetServerAndMethod(grpcURL string) (string, string) {
|
|||||||
method := "/" + strings.Join(fs[1:], "/")
|
method := "/" + strings.Join(fs[1:], "/")
|
||||||
return server, method
|
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))
|
lis, err := net.Listen("tcp", fmt.Sprintf(":%d", dtmsvrGrpcPort))
|
||||||
dtmcli.FatalIfError(err)
|
dtmcli.FatalIfError(err)
|
||||||
s := grpc.NewServer(grpc.UnaryInterceptor(dtmcli.GrpcServerLog))
|
s := grpc.NewServer(grpc.UnaryInterceptor(dtmpb.GrpcServerLog))
|
||||||
dtmpb.RegisterDtmServer(s, &dtmServer{})
|
dtmpb.RegisterDtmServer(s, &dtmServer{})
|
||||||
dtmcli.Logf("grpc listening at %v", lis.Addr())
|
dtmcli.Logf("grpc listening at %v", lis.Addr())
|
||||||
go func() {
|
go func() {
|
||||||
|
|||||||
@ -38,14 +38,14 @@ func BaseAppStartup() *gin.Engine {
|
|||||||
dtmcli.Logf("Starting busi at: %d", BusiPort)
|
dtmcli.Logf("Starting busi at: %d", BusiPort)
|
||||||
go app.Run(fmt.Sprintf(":%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)
|
dtmcli.FatalIfError(err)
|
||||||
DtmClient = dtmpb.NewDtmClient(conn)
|
DtmClient = dtmpb.NewDtmClient(conn)
|
||||||
dtmcli.Logf("dtm client inited")
|
dtmcli.Logf("dtm client inited")
|
||||||
|
|
||||||
lis, err := net.Listen("tcp", fmt.Sprintf(":%d", BusiPbPort))
|
lis, err := net.Listen("tcp", fmt.Sprintf(":%d", BusiPbPort))
|
||||||
dtmcli.FatalIfError(err)
|
dtmcli.FatalIfError(err)
|
||||||
s := grpc.NewServer(grpc.UnaryInterceptor(dtmcli.GrpcServerLog))
|
s := grpc.NewServer(grpc.UnaryInterceptor(dtmpb.GrpcServerLog))
|
||||||
RegisterBusiServer(s, &busiServer{})
|
RegisterBusiServer(s, &busiServer{})
|
||||||
dtmcli.Logf("busi grpc listening at %v", lis.Addr())
|
dtmcli.Logf("busi grpc listening at %v", lis.Addr())
|
||||||
go func() {
|
go func() {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user