Minimally invasive set of logging fixes
- Cache structlog logger, make formatters generic
- Fix consul-specific naming in coordinator code
- Fix logging statements in envoyd that require formatting
- Clean up unicode-invalid binary strings from etcd
- Structured 'msg' key is removed by logging framework, change name
in a few places
- Move logging from INFO and above levels to DEBUG in a few places
Change-Id: Iea40f4969ad328f3d1180533dfc35cb9a2c0756b
diff --git a/envoy/go/envoyd/envoyd.go b/envoy/go/envoyd/envoyd.go
index af542ad..1a688cb 100644
--- a/envoy/go/envoyd/envoyd.go
+++ b/envoy/go/envoyd/envoyd.go
@@ -218,7 +218,7 @@
return c.consulapi.Agent().ServiceDeregister(id)
}
-// Service return a service
+// Service return a service
func (c *client) Service(service, tag string) ([]*consulapi.ServiceEntry, *consulapi.QueryMeta, error) {
passingOnly := true
addrs, meta, err := c.consulapi.Health().Service(service, tag, passingOnly, nil)
@@ -247,17 +247,17 @@
stderr, err := cmd.StderrPipe()
if err != nil {
- log.Fatal("Couldn't attach to stderr running envoy command: %s", err.Error())
+ log.Fatalf("Couldn't attach to stderr running envoy command: %s", err.Error())
}
stdout, err := cmd.StdoutPipe()
if err != nil {
- log.Fatal("Couldn't attach to stdout running envoy command: %s", err.Error())
+ log.Fatalf("Couldn't attach to stdout running envoy command: %s", err.Error())
}
so := bufio.NewReader(stdout)
se := bufio.NewReader(stderr)
if err = cmd.Start(); err != nil {
- log.Fatal("Error starting envoy: %s", err.Error())
+ log.Fatalf("Error starting envoy: %s", err.Error())
}
log.Printf("Envoy(%d) started", curEpoch)
soEof := false
@@ -276,7 +276,7 @@
soEof = true
}
} else if err != nil {
- log.Fatal("Attempt to read envoy standard out failed: %s", err.Error())
+ log.Fatalf("Attempt to read envoy standard out failed: %s", err.Error())
} else if count > 0 {
log.Printf("ENVOY_LOG(%d)(%d): %s",curEpoch,count,string(data))
}
@@ -289,14 +289,14 @@
seEof = true
}
} else if err != nil {
- log.Fatal("Attempt to read envoy standard err failed: %s", err.Error())
+ log.Fatalf("Attempt to read envoy standard err failed: %s", err.Error())
} else if count > 0 {
log.Printf("ENVOY_LOG(%d)(%d): %s",curEpoch,count,string(data))
}
}
log.Printf("Waiting on envoy %d to exit", curEpoch)
if err = cmd.Wait(); err != nil {
- log.Fatal("Envoy %d exited with an unexpected exit code: %s", curEpoch, err.Error())
+ log.Fatalf("Envoy %d exited with an unexpected exit code: %s", curEpoch, err.Error())
}
log.Printf("Envoy %d exited", curEpoch)
// Check if this was the primary envoy, if so
@@ -313,7 +313,7 @@
}
// This function will use the provided templete file to generate
-// the targetfile substituting
+// the targetfile substituting
func (ec * EnvoyControl) updateEnvoyConfig(ecv * EnvoyConfigVars) (err error) {
var firstRun bool = true
var firstRun2 bool = true
@@ -331,23 +331,23 @@
// Slurp up the template file.
tplt, err := ioutil.ReadFile(ec.envoyConfigTemplate)
if err != nil {
- log.Fatal("ERROR reading the template file, aborting: %s", err.Error())
+ log.Fatalf("ERROR reading the template file, aborting: %s", err.Error())
}
//fmt.Println(string(tplt))
configTemplate, err := template.New("config").Funcs(funcs).Parse(string(tplt));
if err != nil {
- log.Fatal("Unexpected error loading the Envoy template, aborting: %s", err.Error())
+ log.Fatalf("Unexpected error loading the Envoy template, aborting: %s", err.Error())
}
outFile,err := os.Create(ec.envoyConfig)
if err != nil {
- log.Fatal("Unexpected error opening the Envoy config file for write, aborting: %s", err.Error())
+ log.Fatalf("Unexpected error opening the Envoy config file for write, aborting: %s", err.Error())
}
if err = configTemplate.Execute(outFile, ecv); err != nil {
- log.Fatal("Unexpected error executing the Envoy config template, aborting: %s", err.Error())
+ log.Fatalf("Unexpected error executing the Envoy config template, aborting: %s", err.Error())
}
//cfgFile, err := ioutil.ReadFile(ec.envoyConfig)
//if err != nil {
- // log.Fatal("ERROR reading the config file, aborting: %s", err.Error())
+ // log.Fatalf("ERROR reading the config file, aborting: %s", err.Error())
// panic(err)
//}
//fmt.Println(string(cfgFile))
@@ -363,7 +363,7 @@
//err = json.Unmarshal(jsonString, &f)
err = json.Unmarshal(jsonString, &f)
if err != nil {
- log.Fatal("Unable to parse json record %s : %s", jsonString, err.Error())
+ log.Fatalf("Unable to parse json record %s : %s", jsonString, err.Error())
} else {
m := f.(map[string]interface{})
for k, v := range m {
@@ -413,7 +413,7 @@
ecv.VolthaVip = ec.ipAddrs[ec.vcoreSvcName][0] + ":" + ec.vcorePort
// Extract all values from the KV record
- // In the future, the values should all be compared to what we currently have
+ // In the future, the values should all be compared to what we currently have
vCluster, err = ec.parseAssignment(keyValue)
if err == nil {
ec.vc = vCluster // For future use to determine if there's been a real change
@@ -425,7 +425,7 @@
ecv.VolthaRR = append(ecv.VolthaRR, vCluster[i].Host + ":" + ec.vcorePort)
}
} else {
- log.Fatal("Couldn't parse the KV record %s: %s", string(keyValue), err.Error())
+ log.Fatalf("Couldn't parse the KV record %s: %s", string(keyValue), err.Error())
}
return
}
@@ -435,7 +435,7 @@
var ecv EnvoyConfigVars
if err = ec.prepareEnvoyConfig(keyValue, &ecv); err != nil {
- log.Fatal("Error preparing envoy config variables, aborting: %s", err.Error())
+ log.Fatalf("Error preparing envoy config variables, aborting: %s", err.Error())
}
// Now that we have the data loaded, update the envoy config and start envoy
@@ -468,7 +468,7 @@
kvp, meta, err = kv.Get(ec.assignmentKey, qo)
}
if i == ec.retries {
- log.Fatal("Failed to read the assignment key after %d retries, aborting: %s", ec.retries, err.Error())
+ log.Fatalf("Failed to read the assignment key after %d retries, aborting: %s", ec.retries, err.Error())
}
}
return
@@ -497,7 +497,7 @@
resp, err = ec.etcd.Get(context.Background(), ec.assignmentKey)
}
if i == ec.retries {
- log.Fatal("Failed to read assignment key from etcd after %d retries, aborting: %s", ec.retries, err.Error())
+ log.Fatalf("Failed to read assignment key from etcd after %d retries, aborting: %s", ec.retries, err.Error())
}
}
return
@@ -525,7 +525,7 @@
}
val, meta, err = ec.readConsulKey(ec.assignmentKey, &qo)
if err != nil {
- log.Fatal("Unable to read assignment consul key: %s\n", err.Error())
+ log.Fatalf("Unable to read assignment consul key: %s\n", err.Error())
} else {
log.Println(string(val))
log.Printf("meta.LastIndex = %d", meta.LastIndex)
@@ -634,16 +634,16 @@
func (ec * EnvoyControl) Initialize() (err error) {
// Resolve KV store's virtual ip address
if err = ec.resolveServiceAddress(ec.kvSvcName); err != nil {
- log.Fatal("Can't proceed without KV store's vIP address: %s", err.Error())
+ log.Fatalf("Can't proceed without KV store's vIP address: %s", err.Error())
}
// Resolve voltha's virtual ip address
if err = ec.resolveServiceAddress(ec.vcoreSvcName); err != nil {
- log.Fatal("Can't proceed without voltha's vIP address: %s", err.Error())
+ log.Fatalf("Can't proceed without voltha's vIP address: %s", err.Error())
}
if err = ec.kvConnect[ec.kvStore](ec.kvSvcName, ec.kvPort); err != nil {
- log.Fatal("Failed to create KV client, aborting: %s", err.Error())
+ log.Fatalf("Failed to create KV client, aborting: %s", err.Error())
}
if ec.httpDisabled == true && ec.httpsDisabled == true {
@@ -672,7 +672,7 @@
log.Printf("KV-store %s at %s:%s", ec.kvStore, ec.kvSvcName, ec.kvPort)
if err = ec.Initialize(); err != nil {
- log.Fatal("Envoy control initialization failed, aborting: %s", err.Error())
+ log.Fatalf("Envoy control initialization failed, aborting: %s", err.Error())
}