chore(log): ntp logger

This commit is contained in:
Siyuan Miao 2025-04-11 13:12:14 +02:00
parent 8888d13824
commit f98eaddf15
1 changed files with 17 additions and 8 deletions

25
ntp.go
View File

@ -1,7 +1,6 @@
package kvm package kvm
import ( import (
"errors"
"fmt" "fmt"
"net/http" "net/http"
"os/exec" "os/exec"
@ -111,20 +110,27 @@ func SyncSystemTime() (err error) {
func queryNetworkTime() (*time.Time, error) { func queryNetworkTime() (*time.Time, error) {
ntpServers, err := getNTPServersFromDHCPInfo() ntpServers, err := getNTPServersFromDHCPInfo()
if err != nil { if err != nil {
ntpLogger.Error().Str("error", err.Error()).Msg("failed to get NTP servers from DHCP info") ntpLogger.Info().Err(err).Msg("failed to get NTP servers from DHCP info")
} }
if ntpServers == nil { if ntpServers == nil {
ntpServers = defaultNTPServers ntpServers = defaultNTPServers
ntpLogger.Info().Str("ntp_servers", fmt.Sprintf("%v", ntpServers)).Msg("Using default NTP servers") ntpLogger.Info().
Interface("ntp_servers", ntpServers).
Msg("Using default NTP servers")
} else { } else {
ntpLogger.Info().Str("ntp_servers", fmt.Sprintf("%v", ntpServers)).Msg("Using NTP servers from DHCP") ntpLogger.Info().
Interface("ntp_servers", ntpServers).
Msg("Using NTP servers from DHCP")
} }
for _, server := range ntpServers { for _, server := range ntpServers {
now, err := queryNtpServer(server, timeSyncTimeout) now, err := queryNtpServer(server, timeSyncTimeout)
if err == nil { if err == nil {
ntpLogger.Info().Str("ntp_server", server).Str("time", now.Format(time.RFC3339)).Msg("NTP server returned time") ntpLogger.Info().
Str("ntp_server", server).
Str("time", now.Format(time.RFC3339)).
Msg("NTP server returned time")
return now, nil return now, nil
} }
} }
@ -135,12 +141,15 @@ func queryNetworkTime() (*time.Time, error) {
for _, url := range httpUrls { for _, url := range httpUrls {
now, err := queryHttpTime(url, timeSyncTimeout) now, err := queryHttpTime(url, timeSyncTimeout)
if err == nil { if err == nil {
ntpLogger.Info().Str("http_url", url).Str("time", now.Format(time.RFC3339)).Msg("HTTP server returned time") ntpLogger.Info().
Str("http_url", url).
Str("time", now.Format(time.RFC3339)).
Msg("HTTP server returned time")
return now, nil return now, nil
} }
} }
ntpLogger.Error().Msg("failed to query network time")
return nil, errors.New("failed to query network time") return nil, ErrorfL(ntpLogger, "failed to query network time", nil)
} }
func queryNtpServer(server string, timeout time.Duration) (now *time.Time, err error) { func queryNtpServer(server string, timeout time.Duration) (now *time.Time, err error) {