more logging
This commit is contained in:
@@ -3,7 +3,6 @@ package client
|
|||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"log/slog"
|
|
||||||
|
|
||||||
"github.com/admin-else/strom/event"
|
"github.com/admin-else/strom/event"
|
||||||
"github.com/admin-else/strom/proto"
|
"github.com/admin-else/strom/proto"
|
||||||
@@ -20,7 +19,7 @@ func (c *ConfigIgnorer) OnStart() (err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (c *ConfigIgnorer) Default(e event.Anything) (err error) {
|
func (c *ConfigIgnorer) Default(e event.Anything) (err error) {
|
||||||
slog.Debug("Config ignorer", "packet", fmt.Sprintf("%#v", e))
|
c.Log.Debug("Config ignorer", "packet", fmt.Sprintf("%#v", e))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-2
@@ -6,7 +6,6 @@ import (
|
|||||||
"crypto/x509"
|
"crypto/x509"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
"log/slog"
|
|
||||||
|
|
||||||
"github.com/admin-else/strom/api"
|
"github.com/admin-else/strom/api"
|
||||||
"github.com/admin-else/strom/crypto"
|
"github.com/admin-else/strom/crypto"
|
||||||
@@ -45,7 +44,7 @@ func (s *LoginClient) OnDefault(event event.Unhandled) (err error) {
|
|||||||
if _, ok := event.Val.(proto_base.EncodeDecodeAble); !ok {
|
if _, ok := event.Val.(proto_base.EncodeDecodeAble); !ok {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
slog.Warn("unexpected packet during login client", "packet", event.Val)
|
s.Log.Warn("unexpected packet during login client", "packet", event.Val)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+4
-2
@@ -68,6 +68,8 @@ type Conn struct {
|
|||||||
|
|
||||||
asyncPackets bool
|
asyncPackets bool
|
||||||
asyncPacketsMutex sync.RWMutex
|
asyncPacketsMutex sync.RWMutex
|
||||||
|
|
||||||
|
Log *slog.Logger
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Conn) StartConn() (err error) {
|
func (c *Conn) StartConn() (err error) {
|
||||||
@@ -209,7 +211,7 @@ func (c *Conn) sendRegisteredPacket(packet proto_base.EncodeDecodeAble) (err err
|
|||||||
debugPrint := slog.Default().Enabled(context.Background(), slog.LevelDebug) &&
|
debugPrint := slog.Default().Enabled(context.Background(), slog.LevelDebug) &&
|
||||||
slices.ContainsFunc(c.DebugPrintPackets, func(s string) bool { return strings.Contains(i.Name, s) })
|
slices.ContainsFunc(c.DebugPrintPackets, func(s string) bool { return strings.Contains(i.Name, s) })
|
||||||
if debugPrint {
|
if debugPrint {
|
||||||
slog.Debug("send", "actor", c.Actor, "packet", fmt.Sprintf("%#v", packet))
|
c.Log.Debug("send", "actor", c.Actor, "packet", fmt.Sprintf("%#v", packet))
|
||||||
}
|
}
|
||||||
return c.SendRaw(packetBuff.Bytes())
|
return c.SendRaw(packetBuff.Bytes())
|
||||||
}
|
}
|
||||||
@@ -263,7 +265,7 @@ func (c *Conn) Receive() (packet proto_base.EncodeDecodeAble, err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
if debugPrint {
|
if debugPrint {
|
||||||
slog.Debug("recv", "packet", fmt.Sprintf("%#v", packet), "isListenerRegistered", isListenerRegistered)
|
c.Log.Debug("recv", "packet", fmt.Sprintf("%#v", packet), "isListenerRegistered", isListenerRegistered)
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -123,7 +123,7 @@ func (l *LoginServer) OnDefault(event event.Unhandled) (err error) {
|
|||||||
if _, ok := event.Val.(proto_base.EncodeDecodeAble); !ok {
|
if _, ok := event.Val.(proto_base.EncodeDecodeAble); !ok {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
slog.Warn("unexpected packet during login serving", "packet", event.Val)
|
l.Log.Warn("unexpected packet during login serving", "packet", event.Val)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+7
-4
@@ -16,6 +16,8 @@ func Servee(c net.Conn) (ret *proto.Conn) {
|
|||||||
ret.Conn = c
|
ret.Conn = c
|
||||||
ret.R = c
|
ret.R = c
|
||||||
ret.W = c
|
ret.W = c
|
||||||
|
|
||||||
|
ret.Log = slog.Default().With("conn", c.RemoteAddr())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -35,10 +37,10 @@ func ServeClient(cNet net.Conn, factory Factory) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
slog.Error("Error while handling client", "error", err, "client", c.Conn.RemoteAddr())
|
c.Log.Error("Error while handling client", "error", err, "client", c.Conn.RemoteAddr())
|
||||||
err = Kick(c, text.Pretty(err.Error()))
|
err = Kick(c, text.Pretty(err.Error()))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
slog.Error("Error while kicking client", "error", err, "client", c.Conn.RemoteAddr())
|
c.Log.Error("Error while kicking client", "error", err, "client", c.Conn.RemoteAddr())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -65,6 +67,7 @@ func StartServerWithOnConn(listenAddr string, onConn func(c *proto.Conn) (err er
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
defer l.Close()
|
||||||
running := true
|
running := true
|
||||||
for running {
|
for running {
|
||||||
var cNet net.Conn
|
var cNet net.Conn
|
||||||
@@ -80,10 +83,10 @@ func StartServerWithOnConn(listenAddr string, onConn func(c *proto.Conn) (err er
|
|||||||
if c.State() == proto_base.Status || c.State() == proto_base.Handshaking {
|
if c.State() == proto_base.Status || c.State() == proto_base.Handshaking {
|
||||||
return // we dont care about status packets
|
return // we dont care about status packets
|
||||||
}
|
}
|
||||||
slog.Error("Error while handling client", "error", connErr, "client", c.Conn.RemoteAddr())
|
c.Log.Error("Error while handling client", "error", connErr, "client", c.Conn.RemoteAddr())
|
||||||
connErr = Kick(c, text.Pretty(connErr.Error()))
|
connErr = Kick(c, text.Pretty(connErr.Error()))
|
||||||
if connErr != nil {
|
if connErr != nil {
|
||||||
slog.Error("Error while kicking client", "error", connErr, "client", c.Conn.RemoteAddr())
|
c.Log.Error("Error while kicking client", "error", connErr, "client", c.Conn.RemoteAddr())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if errors.Is(connErr, ShutDownServerErr) {
|
if errors.Is(connErr, ShutDownServerErr) {
|
||||||
|
|||||||
Reference in New Issue
Block a user