diff options
| author | jwijenbergh <jeroenwijenbergh@protonmail.com> | 2022-05-02 14:34:35 +0200 |
|---|---|---|
| committer | jwijenbergh <jeroenwijenbergh@protonmail.com> | 2022-05-02 14:34:35 +0200 |
| commit | 466450f0c47bdc614e66326d90e5fc6fb56ae732 (patch) | |
| tree | a01518a58d50d2f8449d37dadecc40e35c9f1fe1 /internal/log.go | |
| parent | a2a8efdcaad3d9b1852b1367a7cd7e8c5860cecf (diff) | |
Refactor: Wrap most errors in a custom type
Diffstat (limited to 'internal/log.go')
| -rw-r--r-- | internal/log.go | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/internal/log.go b/internal/log.go index 9248fc0..5109ba2 100644 --- a/internal/log.go +++ b/internal/log.go @@ -39,11 +39,11 @@ func (e LogLevel) String() string { func (logger *FileLogger) Init(level LogLevel, name string, directory string) error { configDirErr := EnsureDirectory(directory) if configDirErr != nil { - return configDirErr + return &LogInitializeError{Name: name, Directory: directory, Err: configDirErr} } logFile, logOpenErr := os.OpenFile(logger.getFilename(directory, name), os.O_RDWR|os.O_CREATE|os.O_APPEND, 0o666) if logOpenErr != nil { - return logOpenErr + return &LogInitializeError{Name: name, Directory: directory, Err: logOpenErr} } log.SetOutput(logFile) logger.File = logFile @@ -65,3 +65,13 @@ 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) +} |
