summaryrefslogtreecommitdiff
path: root/internal/log
diff options
context:
space:
mode:
authorjwijenbergh <jeroenwijenbergh@protonmail.com>2022-06-20 15:20:18 +0200
committerjwijenbergh <jeroenwijenbergh@protonmail.com>2022-06-20 15:20:18 +0200
commit2252135fadb8c579ad27345e3203be755130e3cd (patch)
treeed5a530e85b43736fc0bc28c927cfa8488f9199b /internal/log
parent7af07c596166bf93b79a9d0816b1950dde360fb9 (diff)
Refactor: Errors to have one custom type that is to be wrapped
- For this an `internal/types` package is created with a custom error type - This custom error type can give back the cause and traceback of an error
Diffstat (limited to 'internal/log')
-rw-r--r--internal/log/log.go18
1 files changed, 6 insertions, 12 deletions
diff --git a/internal/log/log.go b/internal/log/log.go
index cba3364..f4024e2 100644
--- a/internal/log/log.go
+++ b/internal/log/log.go
@@ -5,6 +5,8 @@ import (
"log"
"os"
"path"
+
+ "github.com/jwijenbergh/eduvpn-common/internal/types"
"github.com/jwijenbergh/eduvpn-common/internal/util"
)
@@ -38,13 +40,15 @@ func (e LogLevel) String() string {
}
func (logger *FileLogger) Init(level LogLevel, name string, directory string) error {
+ errorMessage := "failed creating log"
+
configDirErr := util.EnsureDirectory(directory)
if configDirErr != nil {
- return &LogInitializeError{Name: name, Directory: directory, Err: configDirErr}
+ return &types.WrappedErrorMessage{Message: errorMessage, Err: configDirErr}
}
logFile, logOpenErr := os.OpenFile(logger.getFilename(directory, name), os.O_RDWR|os.O_CREATE|os.O_APPEND, 0o666)
if logOpenErr != nil {
- return &LogInitializeError{Name: name, Directory: directory, Err: logOpenErr}
+ return &types.WrappedErrorMessage{Message: errorMessage, Err: logOpenErr}
}
log.SetOutput(logFile)
logger.File = logFile
@@ -66,13 +70,3 @@ func (logger *FileLogger) Log(level LogLevel, str string) {
func (logger *FileLogger) Close() {
logger.File.Close()
}
-
-type LogInitializeError struct {
- Name string
- Directory string
- Err error
-}
-
-func (e *LogInitializeError) Error() string {
- return fmt.Sprintf("failed initializing logging with name: %s and directory: %s with error: %v", e.Name, e.Directory, e.Err)
-}