fixing multilogger so that v is properly nil instead of an empty slice if not specified

This commit is contained in:
2022-01-05 16:16:24 -05:00
parent 0e01306637
commit 4addc44c0f
5 changed files with 85 additions and 18 deletions

View File

@@ -99,7 +99,13 @@ func (m *MultiLogger) Alert(s string, v ...interface{}) (err error) {
for _, l := range m.Loggers {
wg.Add(1)
go func(logObj Logger, msg string, rplc ...interface{}) {
if err = logObj.Alert(msg, rplc...); err != nil {
defer wg.Done()
if rplc != nil {
err = logObj.Alert(msg, rplc...)
} else {
err = logObj.Alert(msg)
}
if err != nil {
e.AddError(err)
err = nil
}
@@ -122,7 +128,13 @@ func (m *MultiLogger) Crit(s string, v ...interface{}) (err error) {
for _, l := range m.Loggers {
wg.Add(1)
go func(logObj Logger, msg string, rplc ...interface{}) {
if err = logObj.Crit(msg, rplc...); err != nil {
defer wg.Done()
if rplc != nil {
err = logObj.Crit(msg, rplc...)
} else {
err = logObj.Crit(msg)
}
if err != nil {
e.AddError(err)
err = nil
}
@@ -145,7 +157,13 @@ func (m *MultiLogger) Debug(s string, v ...interface{}) (err error) {
for _, l := range m.Loggers {
wg.Add(1)
go func(logObj Logger, msg string, rplc ...interface{}) {
if err = logObj.Debug(msg, rplc...); err != nil {
defer wg.Done()
if rplc != nil {
err = logObj.Debug(msg, rplc...)
} else {
err = logObj.Debug(msg)
}
if err != nil {
e.AddError(err)
err = nil
}
@@ -168,7 +186,13 @@ func (m *MultiLogger) Emerg(s string, v ...interface{}) (err error) {
for _, l := range m.Loggers {
wg.Add(1)
go func(logObj Logger, msg string, rplc ...interface{}) {
if err = logObj.Emerg(msg, rplc...); err != nil {
defer wg.Done()
if rplc != nil {
err = logObj.Emerg(msg, rplc...)
} else {
err = logObj.Emerg(msg)
}
if err != nil {
e.AddError(err)
err = nil
}
@@ -191,7 +215,13 @@ func (m *MultiLogger) Err(s string, v ...interface{}) (err error) {
for _, l := range m.Loggers {
wg.Add(1)
go func(logObj Logger, msg string, rplc ...interface{}) {
if err = logObj.Err(msg, rplc...); err != nil {
defer wg.Done()
if rplc != nil {
err = logObj.Err(msg, rplc...)
} else {
err = logObj.Err(msg)
}
if err != nil {
e.AddError(err)
err = nil
}
@@ -214,7 +244,13 @@ func (m *MultiLogger) Info(s string, v ...interface{}) (err error) {
for _, l := range m.Loggers {
wg.Add(1)
go func(logObj Logger, msg string, rplc ...interface{}) {
if err = logObj.Info(msg, rplc...); err != nil {
defer wg.Done()
if rplc != nil {
err = logObj.Info(msg, rplc...)
} else {
err = logObj.Info(msg)
}
if err != nil {
e.AddError(err)
err = nil
}
@@ -237,7 +273,13 @@ func (m *MultiLogger) Notice(s string, v ...interface{}) (err error) {
for _, l := range m.Loggers {
wg.Add(1)
go func(logObj Logger, msg string, rplc ...interface{}) {
if err = logObj.Notice(msg, rplc...); err != nil {
defer wg.Done()
if rplc != nil {
err = logObj.Notice(msg, rplc...)
} else {
err = logObj.Notice(msg)
}
if err != nil {
e.AddError(err)
err = nil
}
@@ -260,7 +302,13 @@ func (m *MultiLogger) Warning(s string, v ...interface{}) (err error) {
for _, l := range m.Loggers {
wg.Add(1)
go func(logObj Logger, msg string, rplc ...interface{}) {
if err = logObj.Warning(msg, rplc...); err != nil {
defer wg.Done()
if rplc != nil {
err = logObj.Warning(msg, rplc...)
} else {
err = logObj.Warning(msg)
}
if err != nil {
e.AddError(err)
err = nil
}