1
0
mirror of https://blitiri.com.ar/repos/chasquid synced 2025-12-17 14:37:02 +00:00

config: Improve logging of errors

Currently, the config package logs errors itself, in addition to
returning them.

That is confusing and results in some duplication of logging.

This patch makes config just return errors, and adjusts the callers
to log them properly.
This commit is contained in:
Alberto Bertogli
2020-05-16 23:46:43 +01:00
parent 50986a7b7e
commit b1fe4f81f9
3 changed files with 9 additions and 12 deletions

View File

@@ -72,7 +72,7 @@ func main() {
conf, err := config.Load(*configDir + "/chasquid.conf") conf, err := config.Load(*configDir + "/chasquid.conf")
if err != nil { if err != nil {
log.Fatalf("Error reading config: %v", err) log.Fatalf("Error loading config: %v", err)
} }
config.LogConfig(conf) config.LogConfig(conf)

View File

@@ -206,7 +206,7 @@ func userRemove() {
func aliasesResolve() { func aliasesResolve() {
conf, err := config.Load(configDir + "/chasquid.conf") conf, err := config.Load(configDir + "/chasquid.conf")
if err != nil { if err != nil {
Fatalf("Error reading config") Fatalf("Error loading config: %v", err)
} }
_ = os.Chdir(configDir) _ = os.Chdir(configDir)
@@ -250,7 +250,7 @@ func aliasesResolve() {
func printConfig() { func printConfig() {
conf, err := config.Load(configDir + "/chasquid.conf") conf, err := config.Load(configDir + "/chasquid.conf")
if err != nil { if err != nil {
Fatalf("Error reading config") Fatalf("Error loading config: %v", err)
} }
fmt.Println(prototext.Format(conf)) fmt.Println(prototext.Format(conf))
@@ -262,7 +262,7 @@ func domaininfoRemove() {
conf, err := config.Load(configDir + "/chasquid.conf") conf, err := config.Load(configDir + "/chasquid.conf")
if err != nil { if err != nil {
Fatalf("Error reading config") Fatalf("Error loading config: %v", err)
} }
// File for the corresponding domain. // File for the corresponding domain.
@@ -292,7 +292,7 @@ func aliasesAdd() {
conf, err := config.Load(configDir + "/chasquid.conf") conf, err := config.Load(configDir + "/chasquid.conf")
if err != nil { if err != nil {
Fatalf("Error reading config") Fatalf("Error loading config: %v", err)
} }
_ = os.Chdir(configDir) _ = os.Chdir(configDir)

View File

@@ -5,6 +5,7 @@ package config
//go:generate protoc --go_out=. --go_opt=paths=source_relative config.proto //go:generate protoc --go_out=. --go_opt=paths=source_relative config.proto
import ( import (
"fmt"
"io/ioutil" "io/ioutil"
"os" "os"
@@ -19,15 +20,12 @@ func Load(path string) (*Config, error) {
buf, err := ioutil.ReadFile(path) buf, err := ioutil.ReadFile(path)
if err != nil { if err != nil {
log.Errorf("Failed to read config at %q", path) return nil, fmt.Errorf("failed to read config at %q: %v", path, err)
log.Errorf(" (%v)", err)
return nil, err
} }
err = prototext.Unmarshal(buf, c) err = prototext.Unmarshal(buf, c)
if err != nil { if err != nil {
log.Errorf("Error parsing config: %v", err) return nil, fmt.Errorf("parsing config: %v", err)
return nil, err
} }
// Fill in defaults for anything that's missing. // Fill in defaults for anything that's missing.
@@ -35,8 +33,7 @@ func Load(path string) (*Config, error) {
if c.Hostname == "" { if c.Hostname == "" {
c.Hostname, err = os.Hostname() c.Hostname, err = os.Hostname()
if err != nil { if err != nil {
log.Errorf("Could not get hostname: %v", err) return nil, fmt.Errorf("could not get hostname: %v", err)
return nil, err
} }
} }