添加日志

This commit is contained in:
sk 2024-10-14 09:52:23 +08:00
parent 5ada0828ca
commit 205f934aec
3 changed files with 36 additions and 21 deletions

View File

@ -1,7 +1,6 @@
package handler package handler
import ( import (
"mongo.games.com/goserver/core/logger"
"mongo.games.com/goserver/core/netlib" "mongo.games.com/goserver/core/netlib"
"mongo.games.com/goserver/srvlib" "mongo.games.com/goserver/srvlib"
) )
@ -30,7 +29,6 @@ func (this *SessionHandlerServiceRegiste) GetInterestOps() uint {
func (this *SessionHandlerServiceRegiste) OnSessionOpened(s *netlib.Session) { func (this *SessionHandlerServiceRegiste) OnSessionOpened(s *netlib.Session) {
sc := s.GetSessionConfig() sc := s.GetSessionConfig()
if sc.IsClient { if sc.IsClient {
logger.Logger.Trace("SessionHandlerServiceRegiste:OnSessionOpened ReportService->", sc.Name)
/*报告自己的监听信息*/ /*报告自己的监听信息*/
srvlib.ServiceMgr.ReportService(s) srvlib.ServiceMgr.ReportService(s)
} else { } else {
@ -42,7 +40,6 @@ func (this *SessionHandlerServiceRegiste) OnSessionOpened(s *netlib.Session) {
func (this *SessionHandlerServiceRegiste) OnSessionClosed(s *netlib.Session) { func (this *SessionHandlerServiceRegiste) OnSessionClosed(s *netlib.Session) {
sc := s.GetSessionConfig() sc := s.GetSessionConfig()
if !sc.IsClient { if !sc.IsClient {
logger.Logger.Warn("SessionHandlerServiceRegiste:OnSessionClosed ClearServiceBySession")
srvlib.ServiceMgr.ClearServiceBySession(s) srvlib.ServiceMgr.ClearServiceBySession(s)
} }
} }

View File

@ -25,19 +25,32 @@ func (sfl *SessionHandlerSrvRegiste) GetInterestOps() uint {
} }
func (sfl *SessionHandlerSrvRegiste) OnSessionOpened(s *netlib.Session) { func (sfl *SessionHandlerSrvRegiste) OnSessionOpened(s *netlib.Session) {
registePacket := &protocol.SSSrvRegiste{ registerPacket := &protocol.SSSrvRegiste{
Id: int32(netlib.Config.SrvInfo.Id), Id: int32(netlib.Config.SrvInfo.Id),
Type: int32(netlib.Config.SrvInfo.Type), Type: int32(netlib.Config.SrvInfo.Type),
AreaId: int32(netlib.Config.SrvInfo.AreaID), AreaId: int32(netlib.Config.SrvInfo.AreaID),
Name: netlib.Config.SrvInfo.Name, Name: netlib.Config.SrvInfo.Name,
Data: netlib.Config.SrvInfo.Data, Data: netlib.Config.SrvInfo.Data,
} }
s.Send(int(protocol.SrvlibPacketID_PACKET_SS_REGISTE), registePacket) s.Send(int(protocol.SrvlibPacketID_PACKET_SS_REGISTE), registerPacket)
logger.Logger.Tracef("SessionHandlerSrvRegiste.OnSessionOpened, send registe packet to %v", registePacket) if s.GetSessionConfig().IsClient {
logger.Logger.Infof("目标服务器:%v 发送服务器信息(客户端)%v", s.GetSessionConfig().Name, registerPacket)
} else {
logger.Logger.Infof("发送服务器信息(服务端)%v", registerPacket)
}
} }
func (sfl *SessionHandlerSrvRegiste) OnSessionClosed(s *netlib.Session) { func (sfl *SessionHandlerSrvRegiste) OnSessionClosed(s *netlib.Session) {
logger.Logger.Tracef("SessionHandlerSrvRegiste.OnSessionClosed") if s.GetSessionConfig().IsClient {
logger.Logger.Infof("服务器 %v 断开连接", s.GetSessionConfig().Name)
} else {
d, ok := s.GetAttribute(srvlib.SessionAttributeServerInfo).(*protocol.SSSrvRegiste)
if ok {
logger.Logger.Infof("服务器断开连接:%v", d.GetName())
} else {
logger.Logger.Infof("服务器断开连接")
}
}
srvlib.ServerSessionMgrSington.UnregisteSession(s) srvlib.ServerSessionMgrSington.UnregisteSession(s)
} }

View File

@ -47,7 +47,7 @@ func (this *serviceMgr) RegisteService(s *netlib.Session, services []*protocol.S
} }
if _, exist := this.servicesPool[srvtype][srvid]; !exist { if _, exist := this.servicesPool[srvtype][srvid]; !exist {
this.servicesPool[srvtype][srvid] = service this.servicesPool[srvtype][srvid] = service
logger.Logger.Infof("ServiceMgr RegisteService Name:%v Ip:%v Port:%v", service.GetSrvName(), service.GetIp(), service.GetPort()) logger.Logger.Infof("服务注册:%v", service)
pack := &protocol.SSServiceInfo{} pack := &protocol.SSServiceInfo{}
pack.Service = service pack.Service = service
sessiontypes := GetCareSessionsByService(service.GetSrvType()) sessiontypes := GetCareSessionsByService(service.GetSrvType())
@ -55,17 +55,19 @@ func (this *serviceMgr) RegisteService(s *netlib.Session, services []*protocol.S
for _, v1 := range sessiontypes { for _, v1 := range sessiontypes {
// 地区和服务类型 // 地区和服务类型
ServerSessionMgrSington.Broadcast(int(protocol.SrvlibPacketID_PACKET_SS_SERVICE_INFO), pack, int(areaId), int(v1)) ServerSessionMgrSington.Broadcast(int(protocol.SrvlibPacketID_PACKET_SS_SERVICE_INFO), pack, int(areaId), int(v1))
logger.Logger.Infof("广播服务信息:%v ==> AreaId:%v ServerType:%v", service.GetSrvName(), areaId, v1)
} }
if len(this.listeners) != 0 { //if len(this.listeners) != 0 {
for _, l := range this.listeners { // for _, l := range this.listeners {
l.OnRegiste(services) // l.OnRegiste(services)
} // }
} //}
} }
} }
} }
// UnregisteService 广播服务关闭
func (this *serviceMgr) UnregisteService(service *protocol.ServiceInfo) { func (this *serviceMgr) UnregisteService(service *protocol.ServiceInfo) {
if this == nil || service == nil { if this == nil || service == nil {
return return
@ -76,24 +78,26 @@ func (this *serviceMgr) UnregisteService(service *protocol.ServiceInfo) {
if v, has := this.servicesPool[srvtype]; has { if v, has := this.servicesPool[srvtype]; has {
if ss, exist := v[srvid]; exist && ss == service { if ss, exist := v[srvid]; exist && ss == service {
delete(v, srvid) delete(v, srvid)
logger.Logger.Infof("ServiceMgr UnregisteService srvType:%v srvId:%v", srvtype, srvid) logger.Logger.Infof("服务关闭:%v", service)
pack := &protocol.SSServiceShut{} pack := &protocol.SSServiceShut{}
pack.Service = service pack.Service = service
sessiontypes := GetCareSessionsByService(service.GetSrvType()) sessiontypes := GetCareSessionsByService(service.GetSrvType())
areaId := service.GetAreaId() areaId := service.GetAreaId()
for _, v1 := range sessiontypes { for _, v1 := range sessiontypes {
ServerSessionMgrSington.Broadcast(int(protocol.SrvlibPacketID_PACKET_SS_SERVICE_SHUT), pack, int(areaId), int(v1)) ServerSessionMgrSington.Broadcast(int(protocol.SrvlibPacketID_PACKET_SS_SERVICE_SHUT), pack, int(areaId), int(v1))
logger.Logger.Infof("广播服务关闭:%v ==> AreaId:%v ServerType:%v", service.GetSrvName(), areaId, v1)
} }
if len(this.listeners) != 0 { //if len(this.listeners) != 0 {
for _, l := range this.listeners { // for _, l := range this.listeners {
l.OnUnregiste(service) // l.OnUnregiste(service)
} // }
} //}
} }
} }
} }
// OnRegiste 服务器注册
func (this *serviceMgr) OnRegiste(s *netlib.Session) { func (this *serviceMgr) OnRegiste(s *netlib.Session) {
if this == nil || s == nil { if this == nil || s == nil {
return return
@ -102,7 +106,7 @@ func (this *serviceMgr) OnRegiste(s *netlib.Session) {
if s.GetAttribute(SessionAttributeServiceFlag) == nil { if s.GetAttribute(SessionAttributeServiceFlag) == nil {
return return
} }
// 根据对方的服务信息找需要建立连接的其它服务,然后发送给对方,对方主动和其它服务建立连接 // 查看已存在的服务信息列表找当前服务器需要建立连接的服务,然后建立连接
attr := s.GetAttribute(SessionAttributeServerInfo) attr := s.GetAttribute(SessionAttributeServerInfo)
if attr != nil { if attr != nil {
if srvInfo, ok := attr.(*protocol.SSSrvRegiste); ok && srvInfo != nil { if srvInfo, ok := attr.(*protocol.SSSrvRegiste); ok && srvInfo != nil {
@ -113,8 +117,8 @@ func (this *serviceMgr) OnRegiste(s *netlib.Session) {
func(si *protocol.ServiceInfo, sInfo *protocol.SSSrvRegiste) { func(si *protocol.ServiceInfo, sInfo *protocol.SSSrvRegiste) {
pack := &protocol.SSServiceInfo{} pack := &protocol.SSServiceInfo{}
pack.Service = si pack.Service = si
logger.Logger.Info("serviceMgr.OnRegiste Server Type=", sInfo.GetType(), " Id=", sInfo.GetId(), " Name=", sInfo.GetName(), " careful => Service=", si)
s.Send(int(protocol.SrvlibPacketID_PACKET_SS_SERVICE_INFO), pack) s.Send(int(protocol.SrvlibPacketID_PACKET_SS_SERVICE_INFO), pack)
logger.Logger.Infof("建立连接: client(%v)==>server(%v)", srvInfo.GetName(), si.GetSrvName())
}(v3, srvInfo) }(v3, srvInfo)
} }
} }
@ -200,6 +204,7 @@ func (this *serviceMgr) ReportService(s *netlib.Session) {
pack.Services = append(pack.Services, si) pack.Services = append(pack.Services, si)
} }
s.Send(int(protocol.SrvlibPacketID_PACKET_SS_SERVICE_REGISTE), pack) s.Send(int(protocol.SrvlibPacketID_PACKET_SS_SERVICE_REGISTE), pack)
logger.Logger.Infof("目标服务器:%v 发送服务信息:%v", s.GetSessionConfig().Name, pack)
} }
} }