From eae290fb6869e550652356276b2468e254e3b35c Mon Sep 17 00:00:00 2001 From: kercylan98 Date: Tue, 30 May 2023 19:00:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E5=BF=97=E5=A2=9E=E5=8A=A0=E4=B8=8D?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E5=A0=86=E6=A0=88=E7=9A=84Error=E5=87=BD?= =?UTF-8?q?=E6=95=B0=EF=BC=8C=E8=B7=A8=E6=9C=8D=E5=A2=9E=E5=8A=A0=E9=87=8D?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/options.go | 29 +++++++++++++++++------------ utils/log/log.go | 4 ++++ 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/server/options.go b/server/options.go index f7943a8..4772713 100644 --- a/server/options.go +++ b/server/options.go @@ -6,6 +6,7 @@ import ( "go.uber.org/zap" "google.golang.org/grpc" "reflect" + "time" ) const ( @@ -43,19 +44,23 @@ func WithTicker(size int, autonomy bool) Option { // - 通常情况下crossName仅需一个即可 func WithCross(crossName string, serverId int64, cross Cross) Option { return func(srv *Server) { - srv.id = serverId - if srv.cross == nil { - srv.cross = map[string]Cross{} + start: + { + srv.id = serverId + if srv.cross == nil { + srv.cross = map[string]Cross{} + } + srv.cross[crossName] = cross + err := cross.Init(srv, func(serverId int64, packet []byte) { + srv.PushMessage(MessageTypeCross, serverId, packet) + }) + if err != nil { + log.Info("Cross", zap.Int64("ServerID", serverId), zap.String("Cross", reflect.TypeOf(cross).String()), zap.String("State", "WaitNatsRun")) + time.Sleep(1 * time.Second) + goto start + } + log.Info("Cross", zap.Int64("ServerID", serverId), zap.String("Cross", reflect.TypeOf(cross).String())) } - srv.cross[crossName] = cross - err := cross.Init(srv, func(serverId int64, packet []byte) { - srv.PushMessage(MessageTypeCross, serverId, packet) - }) - if err != nil { - log.Error("WithCross", zap.Int64("ServerID", serverId), zap.String("Cross", reflect.TypeOf(cross).String())) - panic(err) - } - log.Info("Cross", zap.Int64("ServerID", serverId), zap.String("Cross", reflect.TypeOf(cross).String())) } } diff --git a/utils/log/log.go b/utils/log/log.go index 78128cb..bf7bc50 100644 --- a/utils/log/log.go +++ b/utils/log/log.go @@ -113,6 +113,10 @@ func Error(msg string, fields ...zap.Field) { fmt.Println(string(debug.Stack())) } +func ErrorHideStack(msg string, fields ...zap.Field) { + logger.Error(msg, fields...) +} + // ErrorWithStack 通过额外的堆栈信息打印错误日志 func ErrorWithStack(msg, stack string, fields ...zap.Field) { logger.Error(msg, fields...)