From 7260aa0cd70195a4679ca3c94204d9e618f947f2 Mon Sep 17 00:00:00 2001 From: jwijenbergh Date: Wed, 19 Oct 2022 16:51:48 +0200 Subject: Refactor: Make errors use the parent's error level - All wrapped errors have to be created with types.NewWrappedError to inherit the error level from the parent - Or types.NewWrappedErrorLevel can be used which means a custom error level is given. For example this is done with cancelling OAuth - Client public errors are forwarded with handleError that also logs it with the error's level --- internal/log/log.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'internal/log') diff --git a/internal/log/log.go b/internal/log/log.go index 970480f..eabecb9 100644 --- a/internal/log/log.go +++ b/internal/log/log.go @@ -52,7 +52,7 @@ func (logger *FileLogger) Init(level LogLevel, name string, directory string) er configDirErr := util.EnsureDirectory(directory) if configDirErr != nil { - return &types.WrappedErrorMessage{Message: errorMessage, Err: configDirErr} + return types.NewWrappedError(errorMessage, configDirErr) } logFile, logOpenErr := os.OpenFile( logger.getFilename(directory, name), @@ -60,7 +60,7 @@ func (logger *FileLogger) Init(level LogLevel, name string, directory string) er 0o666, ) if logOpenErr != nil { - return &types.WrappedErrorMessage{Message: errorMessage, Err: logOpenErr} + return types.NewWrappedError(errorMessage, logOpenErr) } log.SetOutput(logFile) logger.File = logFile @@ -68,9 +68,10 @@ func (logger *FileLogger) Init(level LogLevel, name string, directory string) er return nil } -func (logger *FileLogger) Inherit(err error, msg string) { +func (logger *FileLogger) Inherit(label string, err error) { level := types.GetErrorLevel(err) + msg := fmt.Sprintf("%s with err: %s", label, types.GetErrorTraceback(err)) switch level { case types.ERR_INFO: logger.Info(msg) -- cgit v1.2.3