summaryrefslogtreecommitdiff
path: root/internal/log.go
diff options
context:
space:
mode:
authorjwijenbergh <jeroenwijenbergh@protonmail.com>2022-05-02 14:34:35 +0200
committerjwijenbergh <jeroenwijenbergh@protonmail.com>2022-05-02 14:34:35 +0200
commit466450f0c47bdc614e66326d90e5fc6fb56ae732 (patch)
treea01518a58d50d2f8449d37dadecc40e35c9f1fe1 /internal/log.go
parenta2a8efdcaad3d9b1852b1367a7cd7e8c5860cecf (diff)
Refactor: Wrap most errors in a custom type
Diffstat (limited to 'internal/log.go')
-rw-r--r--internal/log.go14
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)
+}