diff --git a/service/heartbeat/server.go b/service/heartbeat/server.go index b6e149e..9586fc8 100644 --- a/service/heartbeat/server.go +++ b/service/heartbeat/server.go @@ -116,7 +116,26 @@ func server(listen *net.TCPListener) { } func ServerHandler(conn net.Conn) { - defer conn.Close() + defer func() { + if !global.Env().IsDebug { + if r := recover(); r != nil { + var v string + switch r.(type) { + case error: + v = r.(error).Error() + case runtime.Error: + v = r.(runtime.Error).Error() + case string: + v = r.(string) + } + log.Error(v) + } + } + + if conn != nil { + conn.Close() + } + }() data := make([]byte, 128) var uid string