mirror of
https://github.com/m1k1o/neko.git
synced 2024-07-24 14:40:50 +12:00
updated websocket logging.
This commit is contained in:
parent
402b8f1a08
commit
6a32dbadf4
@ -90,7 +90,7 @@ func (manager *WebSocketManagerCtx) Start() {
|
|||||||
if err := manager.handler.SessionProfileChanged(session); err != nil {
|
if err := manager.handler.SessionProfileChanged(session); err != nil {
|
||||||
logger.Warn().Err(err).Msg("session profile changed with an error")
|
logger.Warn().Err(err).Msg("session profile changed with an error")
|
||||||
} else {
|
} else {
|
||||||
logger.Debug().Msg("session profile changed")
|
logger.Debug().Interface("profile", session.Profile()).Msg("session profile changed")
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -100,7 +100,7 @@ func (manager *WebSocketManagerCtx) Start() {
|
|||||||
if err := manager.handler.SessionStateChanged(session); err != nil {
|
if err := manager.handler.SessionStateChanged(session); err != nil {
|
||||||
logger.Warn().Err(err).Msg("session state changed with an error")
|
logger.Warn().Err(err).Msg("session state changed with an error")
|
||||||
} else {
|
} else {
|
||||||
logger.Debug().Msg("session state changed")
|
logger.Debug().Interface("state", session.State()).Msg("session state changed")
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -161,7 +161,13 @@ func (manager *WebSocketManagerCtx) AddHandler(handler types.WebSocketHandler) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (manager *WebSocketManagerCtx) Upgrade(w http.ResponseWriter, r *http.Request, checkOrigin types.CheckOrigin) {
|
func (manager *WebSocketManagerCtx) Upgrade(w http.ResponseWriter, r *http.Request, checkOrigin types.CheckOrigin) {
|
||||||
manager.logger.Debug().Msg("attempting to upgrade connection")
|
// add request data to logger context
|
||||||
|
logger := manager.logger.With().
|
||||||
|
Str("address", r.RemoteAddr).
|
||||||
|
Str("agent", r.UserAgent()).
|
||||||
|
Logger()
|
||||||
|
|
||||||
|
logger.Debug().Msg("attempting to upgrade connection")
|
||||||
|
|
||||||
upgrader := websocket.Upgrader{
|
upgrader := websocket.Upgrader{
|
||||||
CheckOrigin: checkOrigin,
|
CheckOrigin: checkOrigin,
|
||||||
@ -169,13 +175,13 @@ func (manager *WebSocketManagerCtx) Upgrade(w http.ResponseWriter, r *http.Reque
|
|||||||
|
|
||||||
connection, err := upgrader.Upgrade(w, r, nil)
|
connection, err := upgrader.Upgrade(w, r, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
manager.logger.Error().Err(err).Msg("failed to upgrade connection")
|
logger.Error().Err(err).Msg("failed to upgrade connection")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
session, err := manager.sessions.Authenticate(r)
|
session, err := manager.sessions.Authenticate(r)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
manager.logger.Debug().Err(err).Msg("authentication failed")
|
logger.Debug().Err(err).Msg("authentication failed")
|
||||||
|
|
||||||
// TODO: Refactor, return error code.
|
// TODO: Refactor, return error code.
|
||||||
if err = connection.WriteJSON(
|
if err = connection.WriteJSON(
|
||||||
@ -183,18 +189,18 @@ func (manager *WebSocketManagerCtx) Upgrade(w http.ResponseWriter, r *http.Reque
|
|||||||
Event: event.SYSTEM_DISCONNECT,
|
Event: event.SYSTEM_DISCONNECT,
|
||||||
Message: err.Error(),
|
Message: err.Error(),
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
manager.logger.Error().Err(err).Msg("failed to send disconnect event")
|
logger.Error().Err(err).Msg("failed to send disconnect event")
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := connection.Close(); err != nil {
|
if err := connection.Close(); err != nil {
|
||||||
manager.logger.Warn().Err(err).Msg("connection closed with an error")
|
logger.Warn().Err(err).Msg("connection closed with an error")
|
||||||
}
|
}
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// add session id to logger context
|
// use session id with defeault logger context
|
||||||
logger := manager.logger.With().Str("session_id", session.ID()).Logger()
|
logger = manager.logger.With().Str("session_id", session.ID()).Logger()
|
||||||
|
|
||||||
if !session.Profile().CanConnect {
|
if !session.Profile().CanConnect {
|
||||||
logger.Debug().Msg("connection disabled")
|
logger.Debug().Msg("connection disabled")
|
||||||
@ -251,6 +257,7 @@ func (manager *WebSocketManagerCtx) Upgrade(w http.ResponseWriter, r *http.Reque
|
|||||||
|
|
||||||
logger.Info().
|
logger.Info().
|
||||||
Str("address", connection.RemoteAddr().String()).
|
Str("address", connection.RemoteAddr().String()).
|
||||||
|
Str("agent", r.UserAgent()).
|
||||||
Msg("connection started")
|
Msg("connection started")
|
||||||
|
|
||||||
session.SetWebSocketConnected(peer, true)
|
session.SetWebSocketConnected(peer, true)
|
||||||
@ -258,6 +265,7 @@ func (manager *WebSocketManagerCtx) Upgrade(w http.ResponseWriter, r *http.Reque
|
|||||||
defer func() {
|
defer func() {
|
||||||
logger.Info().
|
logger.Info().
|
||||||
Str("address", connection.RemoteAddr().String()).
|
Str("address", connection.RemoteAddr().String()).
|
||||||
|
Str("agent", r.UserAgent()).
|
||||||
Msg("connection ended")
|
Msg("connection ended")
|
||||||
|
|
||||||
session.SetWebSocketConnected(peer, false)
|
session.SetWebSocketConnected(peer, false)
|
||||||
|
Loading…
Reference in New Issue
Block a user