chore(log): add nbdLogger

This commit is contained in:
Siyuan Miao 2025-04-11 13:08:52 +02:00
parent 334b3bee60
commit 8888d13824
2 changed files with 17 additions and 4 deletions

View File

@ -9,6 +9,7 @@ import (
"github.com/pojntfx/go-nbd/pkg/client" "github.com/pojntfx/go-nbd/pkg/client"
"github.com/pojntfx/go-nbd/pkg/server" "github.com/pojntfx/go-nbd/pkg/server"
"github.com/rs/zerolog"
) )
type remoteImageBackend struct { type remoteImageBackend struct {
@ -72,6 +73,8 @@ type NBDDevice struct {
serverConn net.Conn serverConn net.Conn
clientConn net.Conn clientConn net.Conn
dev *os.File dev *os.File
l *zerolog.Logger
} }
func NewNBDDevice() *NBDDevice { func NewNBDDevice() *NBDDevice {
@ -90,10 +93,18 @@ func (d *NBDDevice) Start() error {
return err return err
} }
if d.l == nil {
scopedLogger := nbdLogger.With().
Str("socket_path", nbdSocketPath).
Str("device_path", nbdDevicePath).
Logger()
d.l = &scopedLogger
}
// Remove the socket file if it already exists // Remove the socket file if it already exists
if _, err := os.Stat(nbdSocketPath); err == nil { if _, err := os.Stat(nbdSocketPath); err == nil {
if err := os.Remove(nbdSocketPath); err != nil { if err := os.Remove(nbdSocketPath); err != nil {
nativeLogger.Warn().Err(err).Str("socket_path", nbdSocketPath).Msg("Failed to remove existing socket file") d.l.Error().Err(err).Msg("failed to remove existing socket file")
os.Exit(1) os.Exit(1)
} }
} }
@ -134,7 +145,8 @@ func (d *NBDDevice) runServerConn() {
MaximumBlockSize: uint32(16 * 1024), MaximumBlockSize: uint32(16 * 1024),
SupportsMultiConn: false, SupportsMultiConn: false,
}) })
nativeLogger.Info().Err(err).Msg("nbd server exited")
d.l.Info().Err(err).Msg("nbd server exited")
} }
func (d *NBDDevice) runClientConn() { func (d *NBDDevice) runClientConn() {
@ -142,14 +154,14 @@ func (d *NBDDevice) runClientConn() {
ExportName: "jetkvm", ExportName: "jetkvm",
BlockSize: uint32(4 * 1024), BlockSize: uint32(4 * 1024),
}) })
nativeLogger.Info().Err(err).Msg("nbd client exited") d.l.Info().Err(err).Msg("nbd client exited")
} }
func (d *NBDDevice) Close() { func (d *NBDDevice) Close() {
if d.dev != nil { if d.dev != nil {
err := client.Disconnect(d.dev) err := client.Disconnect(d.dev)
if err != nil { if err != nil {
nativeLogger.Warn().Err(err).Msg("error disconnecting nbd client") d.l.Warn().Err(err).Msg("error disconnecting nbd client")
} }
_ = d.dev.Close() _ = d.dev.Close()
} }

1
log.go
View File

@ -218,6 +218,7 @@ var (
websocketLogger = rootLogger.getLogger("websocket") websocketLogger = rootLogger.getLogger("websocket")
webrtcLogger = rootLogger.getLogger("webrtc") webrtcLogger = rootLogger.getLogger("webrtc")
nativeLogger = rootLogger.getLogger("native") nativeLogger = rootLogger.getLogger("native")
nbdLogger = rootLogger.getLogger("nbd")
ntpLogger = rootLogger.getLogger("ntp") ntpLogger = rootLogger.getLogger("ntp")
jsonRpcLogger = rootLogger.getLogger("jsonrpc") jsonRpcLogger = rootLogger.getLogger("jsonrpc")
watchdogLogger = rootLogger.getLogger("watchdog") watchdogLogger = rootLogger.getLogger("watchdog")