X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/f0fe7273c1851cb93e9edd58c0b60d3590b222ed..refs/heads/9374-go-sdk:/sdk/go/logger/logger.go?ds=sidebyside diff --git a/sdk/go/logger/logger.go b/sdk/go/logger/logger.go index ce18e90ecf..3b2db3a321 100644 --- a/sdk/go/logger/logger.go +++ b/sdk/go/logger/logger.go @@ -14,12 +14,16 @@ // entry map[string]interface{}) { // // Modifiy properties and entry however you want // // properties is a shortcut for entry["properties"].(map[string]interface{}) -// // properties can take any values you want to give it, -// // entry will only take the fields listed at http://doc.arvados.org/api/schema/Log.html +// // properties can take any (valid) values you want to give it, +// // entry will only take the fields listed at +// // http://doc.arvados.org/api/schema/Log.html +// // Valid values for properties are anything that can be json +// // encoded (i.e. will not error if you call json.Marshal() on it. // }) package logger import ( + "fmt" "git.curoverse.com/arvados.git/sdk/go/arvadosclient" "log" "time" @@ -70,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{}), @@ -94,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 @@ -193,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) } }