From 2f0e497ddb51dd7dc2c7ecd93a24e25de56f39ad Mon Sep 17 00:00:00 2001 From: arberkatellari Date: Fri, 10 Feb 2023 10:10:53 -0500 Subject: [PATCH] Change compatibility for environments without syslog --- utils/logger.go | 13 ++++++++++++- utils/logger_test.go | 6 ++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/utils/logger.go b/utils/logger.go index 88d258c03..56699d9f1 100644 --- a/utils/logger.go +++ b/utils/logger.go @@ -27,11 +27,18 @@ import ( ) var Logger LoggerInterface +var noSysLog bool func init() { if Logger == nil || reflect.ValueOf(Logger).IsNil() { + + var err error //used for testing only, so we will ignore the error for now - Logger, _ = Newlogger(MetaSysLog, EmptyString) + if Logger, err = Newlogger(MetaSysLog, EmptyString); err != nil { + noSysLog = true + Logger, _ = Newlogger(MetaStdLog, EmptyString) + } + } } @@ -42,6 +49,9 @@ func Newlogger(loggertype, id string) (lgr LoggerInterface, err error) { case MetaStdLog: return case MetaSysLog: + if noSysLog { + return + } var l *syslog.Writer l, err = syslog.New(syslog.LOG_INFO|syslog.LOG_DAEMON, fmt.Sprintf("CGRateS <%s> ", id)) lgr.SetSyslog(l) // if we received an error, l is nil @@ -49,6 +59,7 @@ func Newlogger(loggertype, id string) (lgr LoggerInterface, err error) { default: return nil, fmt.Errorf("unsupported logger: <%s>", loggertype) } + // } } type LoggerInterface interface { diff --git a/utils/logger_test.go b/utils/logger_test.go index a4ab8cbcc..0d301ae93 100644 --- a/utils/logger_test.go +++ b/utils/logger_test.go @@ -261,6 +261,9 @@ func TestDebugLogger(t *testing.T) { } func TestWriteLogger(t *testing.T) { + if noSysLog { + t.SkipNow() + } log.SetOutput(os.Stderr) loggertype := MetaSysLog @@ -286,6 +289,9 @@ func TestWriteLogger(t *testing.T) { } func TestCloseLogger(t *testing.T) { + if noSysLog { + t.SkipNow() + } log.SetOutput(io.Discard) loggertype := MetaStdLog