From 626f02def29eeb0cee2f47ea1832d8a40ae4002a Mon Sep 17 00:00:00 2001 From: Rolf Neugebauer Date: Wed, 12 Apr 2017 13:48:52 +0100 Subject: [PATCH] metadata: Improve logging Implementing a String() interface for each provider makes it easier for users to prefix log strings with the provider. Signed-off-by: Rolf Neugebauer --- pkg/metadata/main.go | 5 +++++ pkg/metadata/provider_cdrom.go | 8 ++++---- pkg/metadata/provider_gcp.go | 5 ++++- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/pkg/metadata/main.go b/pkg/metadata/main.go index 52adcb952..3bbf3079b 100644 --- a/pkg/metadata/main.go +++ b/pkg/metadata/main.go @@ -29,6 +29,9 @@ const ( // Provider is a generic interface for metadata/userdata providers. type Provider interface { + // String should return a unique name for the Provider + String() string + // Probe returns true if the provider was detected. Probe() bool @@ -58,6 +61,7 @@ func main() { found := false for _, p := range netProviders { if p.Probe() { + log.Printf("%s: Probe succeeded", p) userdata, err = p.Extract() found = true break @@ -78,6 +82,7 @@ func main() { for _, p := range cdromProviders { if p.Probe() { + log.Printf("%s: Probe succeeded", p) userdata, err = p.Extract() found = true break diff --git a/pkg/metadata/provider_cdrom.go b/pkg/metadata/provider_cdrom.go index 90c45970e..e28951f24 100644 --- a/pkg/metadata/provider_cdrom.go +++ b/pkg/metadata/provider_cdrom.go @@ -3,7 +3,6 @@ package main import ( "fmt" "io/ioutil" - "log" "os" "path" ) @@ -22,12 +21,13 @@ func NewCDROM() *ProviderCDROM { return &ProviderCDROM{} } +func (p *ProviderCDROM) String() string { + return "CDROM" +} + // Probe checks if the CD has the right file func (p *ProviderCDROM) Probe() bool { _, err := os.Stat(path.Join(MountPoint, configFile)) - if err != nil { - log.Printf("CDROM: Probe -> %s", err) - } return (!os.IsNotExist(err)) } diff --git a/pkg/metadata/provider_gcp.go b/pkg/metadata/provider_gcp.go index 180c98986..cf393d3cb 100644 --- a/pkg/metadata/provider_gcp.go +++ b/pkg/metadata/provider_gcp.go @@ -24,11 +24,14 @@ func NewGCP() *ProviderGCP { return &ProviderGCP{} } +func (p *ProviderGCP) String() string { + return "GCP" +} + // Probe checks if we are running on GCP func (p *ProviderGCP) Probe() bool { // Getting the hostname should always work... _, err := gcpGet(instance + "hostname") - log.Printf("GCP: Probe -> %s", err) return (err == nil) }