diff --git a/dyndnsd-client.go b/dyndnsd-client.go index b22e13add58c6ce8fc4f893fd8d788627b3fa347..6dfc0b19bbaaa4ae54cd86f73c4966b0c5cae86e 100644 --- a/dyndnsd-client.go +++ b/dyndnsd-client.go @@ -4,20 +4,30 @@ import ( "fmt" "github.com/joshbetz/config" "io/ioutil" + "log" "net/http" "net/url" + "os" ) var ( cfg *config.Config ipv4Endpoint string ipv6Endpoint string + + logger *log.Logger ) // Parse config func init() { - cfg = config.New("config.json") + // Logging + logOpts := log.Ldate | log.Ltime | log.LUTC | log.Lshortfile + logger = log.New(os.Stdout, "", logOpts) + + logger.Println("PINGING dyndnsd ENDPOINT") + // Configuration + cfg = config.New("config.json") cfg.Get("ipv4_endpoint", &ipv4Endpoint) cfg.Get("ipv6_endpoint", &ipv6Endpoint) } @@ -27,6 +37,8 @@ func main() { // Base URL endpoint, err := buildEndpointUrl() if err != nil { + logger.Println("Couldn't build endpoint URL") + logger.Printf("%s", err) return } @@ -37,27 +49,32 @@ func main() { query.Set("myip", ipv4) endpoint.RawQuery = query.Encode() } else { + logger.Println("Couldn't retrieve IPv4 address") + logger.Printf("%s", err) return } - fmt.Println(endpoint) - // IPv6 is optional ipv6, err := getUrl(ipv6Endpoint) if err == nil { query := endpoint.Query() query.Set("myip6", ipv6) endpoint.RawQuery = query.Encode() + } else { + logger.Println("Couldn't retrieve IPv6 address") + logger.Printf("%s", err) } // Send the update dyndns, err := getUrl(endpoint.String()) if err != nil { + logger.Println("Couldn't update dyndnsd endpoint") + logger.Printf("%s", err) return } - // TODO: better formatting - fmt.Println(dyndns) + logger.Println("SUCCESS! Ping sent.") + logger.Printf("%s", dyndns) } // Build endpoint URL from configuration