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
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
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))
}