Commit 5502b15d authored by Mo Firouz's avatar Mo Firouz Committed by Andrei Mihu
Browse files

Add debug logging when receiving and sending messages via Websocket

parent b7d8bcd5
Loading
Loading
Loading
Loading
+5 −0
Changes for server/pipeline.go: 5 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@ package server

import (
	"database/sql"
	"fmt"

	"github.com/heroiclabs/nakama/rtapi"
	"go.uber.org/zap"
@@ -42,6 +43,10 @@ func NewPipeline(config Config, db *sql.DB, registry *SessionRegistry, tracker T
}

func (p *pipeline) processRequest(logger *zap.Logger, session session, envelope *rtapi.Envelope) {
	if logger.Core().Enabled(zap.DebugLevel) {
		logger.Debug(fmt.Sprintf("Received %T message", envelope.Message), zap.Any("message", envelope.Message))
	}

	switch envelope.Message.(type) {
	case *rtapi.Envelope_MatchCreate:
		p.matchCreate(logger, session, envelope)
+10 −2
Changes for server/session_ws.go: 10 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -195,13 +195,21 @@ func (s *sessionWS) Format() SessionFormat {
}

func (s *sessionWS) Send(envelope *rtapi.Envelope) error {
	s.logger.Debug(fmt.Sprintf("Sending %T message", envelope.Message), zap.String("cid", envelope.Cid))

	payload, err := s.jsonpbMarshaler.MarshalToString(envelope)
	if err != nil {
		s.logger.Warn("Could not marshal to json", zap.Error(err))
		return err
	}

	if s.logger.Core().Enabled(zap.DebugLevel) {
		switch envelope.Message.(type) {
		case *rtapi.Envelope_Error:
			s.logger.Debug("Sending error message", zap.String("payload", payload))
		default:
			s.logger.Debug(fmt.Sprintf("Sending %T message", envelope.Message), zap.String("payload", payload))
		}
	}

	return s.SendBytes([]byte(payload))
}