From 924b55059ff19d47c000b303e8de9d2e2088f8ee Mon Sep 17 00:00:00 2001 From: Siyuan Miao Date: Fri, 11 Apr 2025 08:14:44 +0200 Subject: [PATCH] chore(log): add wolLogger --- log.go | 14 ++++++++++++++ wol.go | 9 +++++---- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/log.go b/log.go index 9b9a9e5..3ee8473 100644 --- a/log.go +++ b/log.go @@ -55,11 +55,25 @@ var ( serialLogger = getLogger("serial") terminalLogger = getLogger("terminal") displayLogger = getLogger("display") + wolLogger = getLogger("wol") usbLogger = getLogger("usb") // external components ginLogger = getLogger("gin") ) +func ErrorfL(l *zerolog.Logger, format string, err error, args ...interface{}) error { + if l == nil { + l = &logger + } + + l.Error().Err(err).Msgf(format, args...) + + err_msg := err.Error() + ": %v" + err_args := append(args, err) + + return fmt.Errorf(err_msg, err_args...) +} + func updateLogLevel() { scopeLevelMutex.Lock() defer scopeLevelMutex.Unlock() diff --git a/wol.go b/wol.go index f0e68bb..d6fc8bc 100644 --- a/wol.go +++ b/wol.go @@ -3,7 +3,6 @@ package kvm import ( "bytes" "encoding/binary" - "fmt" "net" ) @@ -12,7 +11,7 @@ func rpcSendWOLMagicPacket(macAddress string) error { // Parse the MAC address mac, err := net.ParseMAC(macAddress) if err != nil { - return fmt.Errorf("invalid MAC address: %v", err) + return ErrorfL(&wolLogger, "invalid MAC address", err) } // Create the magic packet @@ -21,16 +20,18 @@ func rpcSendWOLMagicPacket(macAddress string) error { // Set up UDP connection conn, err := net.Dial("udp", "255.255.255.255:9") if err != nil { - return fmt.Errorf("failed to establish UDP connection: %v", err) + return ErrorfL(&wolLogger, "failed to establish UDP connection", err) } defer conn.Close() // Send the packet _, err = conn.Write(packet) if err != nil { - return fmt.Errorf("failed to send WOL packet: %v", err) + return ErrorfL(&wolLogger, "failed to send WOL packet", err) } + wolLogger.Info().Str("mac", macAddress).Msg("WOL packet sent") + return nil }