X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/f78434fcb802949eaae131adf625950ad9981ede..7413300e85b60d0533ec117b2175cb67fd9f10e3:/sdk/go/logger/logger.go diff --git a/sdk/go/logger/logger.go b/sdk/go/logger/logger.go index a989afcf26..3b2db3a321 100644 --- a/sdk/go/logger/logger.go +++ b/sdk/go/logger/logger.go @@ -23,6 +23,7 @@ package logger import ( + "fmt" "git.curoverse.com/arvados.git/sdk/go/arvadosclient" "log" "time" @@ -73,16 +74,18 @@ type Logger struct { } // Create a new logger based on the specified parameters. -func NewLogger(params LoggerParams) *Logger { +func NewLogger(params LoggerParams) (l *Logger, err error) { // sanity check parameters if ¶ms.Client == nil { - log.Fatal("Nil arvados client in LoggerParams passed in to NewLogger()") + err = fmt.Errorf("Nil arvados client in LoggerParams passed in to NewLogger()") + return } if params.EventTypePrefix == "" { - log.Fatal("Empty event type prefix in LoggerParams passed in to NewLogger()") + err = fmt.Errorf("Empty event type prefix in LoggerParams passed in to NewLogger()") + return } - l := &Logger{ + l = &Logger{ data: make(map[string]interface{}), entry: make(map[string]interface{}), properties: make(map[string]interface{}), @@ -97,7 +100,7 @@ func NewLogger(params LoggerParams) *Logger { // Start the worker goroutine. go l.work() - return l + return l, nil } // Exported functions will be called from other goroutines, therefore @@ -196,7 +199,6 @@ func (l *Logger) write(isFinal bool) { // client. err := l.params.Client.Create("logs", l.data, nil) if err != nil { - log.Printf("Attempted to log: %v", l.data) - log.Fatalf("Received error writing log: %v", err) + log.Printf("Received error writing %v: %v", l.data, err) } }