summaryrefslogtreecommitdiff
path: root/internal/log
diff options
context:
space:
mode:
authorjwijenbergh <jeroenwijenbergh@protonmail.com>2022-10-19 16:51:48 +0200
committerjwijenbergh <jeroenwijenbergh@protonmail.com>2022-10-19 17:05:59 +0200
commit7260aa0cd70195a4679ca3c94204d9e618f947f2 (patch)
tree9321f5f3d21b06d1ab6dd50420879bc5ea41f044 /internal/log
parentf1a265190d8fd862bfff680fd0937a7f99759955 (diff)
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
Diffstat (limited to 'internal/log')
-rw-r--r--internal/log/log.go7
1 files changed, 4 insertions, 3 deletions
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)