diff options
Diffstat (limited to 'internal/logger/logger.go')
-rw-r--r-- | internal/logger/logger.go | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/internal/logger/logger.go b/internal/logger/logger.go index f836555..651aa08 100644 --- a/internal/logger/logger.go +++ b/internal/logger/logger.go @@ -1,6 +1,7 @@ package logger import ( + "fmt" "io/ioutil" "log/syslog" "os" @@ -22,8 +23,14 @@ func Configure(cfg *config.Config) { logFile, err := os.OpenFile(cfg.LogFile, os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0644) if err != nil { progName, _ := os.Executable() - syslogLogger, err := syslog.NewLogger(syslog.LOG_ERR|syslog.LOG_USER, 0) - syslogLogger.Print(progName + ": Unable to configure logging: " + err.Error()) + syslogLogger, syslogLoggerErr := syslog.NewLogger(syslog.LOG_ERR|syslog.LOG_USER, 0) + if syslogLoggerErr == nil { + msg := fmt.Sprintf("%s: Unable to configure logging: %v\n", progName, err.Error()) + syslogLogger.Print(msg) + } else { + msg := fmt.Sprintf("%s: Unable to configure logging: %v, %v\n", progName, err.Error(), syslogLoggerErr.Error()) + fmt.Fprintf(os.Stderr, msg) + } // Discard logs since a log file was specified but couldn't be opened log.SetOutput(ioutil.Discard) |