Finalizing for 1.2.0
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
package logging
|
||||
|
||||
import (
|
||||
`errors`
|
||||
`fmt`
|
||||
`sync`
|
||||
|
||||
`r00t2.io/goutils/multierr`
|
||||
@@ -12,16 +14,17 @@ func (m *MultiLogger) Setup() (err error) {
|
||||
var wg sync.WaitGroup
|
||||
var errs *multierr.MultiError = multierr.NewMultiError(nil)
|
||||
|
||||
for _, l := range m.Loggers {
|
||||
for logName, l := range m.Loggers {
|
||||
wg.Add(1)
|
||||
go func() {
|
||||
go func(logger Logger, lName string) {
|
||||
var err2 error
|
||||
defer wg.Done()
|
||||
if err2 = l.Setup(); err2 != nil {
|
||||
if err2 = logger.Setup(); err2 != nil {
|
||||
errs.AddError(errors.New(fmt.Sprintf("error on Setup for logger %v; follows (may be out of order):", lName)))
|
||||
errs.AddError(err2)
|
||||
err2 = nil
|
||||
}
|
||||
}()
|
||||
}(l, logName)
|
||||
}
|
||||
|
||||
wg.Wait()
|
||||
@@ -40,16 +43,17 @@ func (m *MultiLogger) Shutdown() (err error) {
|
||||
var wg sync.WaitGroup
|
||||
var errs *multierr.MultiError = multierr.NewMultiError(nil)
|
||||
|
||||
for _, l := range m.Loggers {
|
||||
for logName, l := range m.Loggers {
|
||||
wg.Add(1)
|
||||
go func() {
|
||||
go func(logger Logger, lName string) {
|
||||
var err2 error
|
||||
defer wg.Done()
|
||||
if err2 = l.Shutdown(); err2 != nil {
|
||||
if err2 = logger.Shutdown(); err2 != nil {
|
||||
errs.AddError(errors.New(fmt.Sprintf("error on Shutdown for logger %v; follows (may be out of order):", lName)))
|
||||
errs.AddError(err2)
|
||||
err2 = nil
|
||||
}
|
||||
}()
|
||||
}(l, logName)
|
||||
}
|
||||
|
||||
wg.Wait()
|
||||
@@ -87,16 +91,17 @@ func (m *MultiLogger) DoDebug(d bool) (err error) {
|
||||
|
||||
m.EnableDebug = d
|
||||
|
||||
for _, l := range m.Loggers {
|
||||
for logName, l := range m.Loggers {
|
||||
wg.Add(1)
|
||||
go func() {
|
||||
go func(logger Logger, lName string) {
|
||||
var err2 error
|
||||
defer wg.Done()
|
||||
if err2 = l.DoDebug(d); err2 != nil {
|
||||
errs.AddError(errors.New(fmt.Sprintf("error on DoDebug for logger %v; follows (may be out of order):", lName)))
|
||||
errs.AddError(err2)
|
||||
err2 = nil
|
||||
}
|
||||
}()
|
||||
}(l, logName)
|
||||
}
|
||||
|
||||
wg.Wait()
|
||||
@@ -121,16 +126,17 @@ func (m *MultiLogger) SetPrefix(prefix string) (err error) {
|
||||
|
||||
m.Prefix = prefix
|
||||
|
||||
for _, l := range m.Loggers {
|
||||
for logName, l := range m.Loggers {
|
||||
wg.Add(1)
|
||||
go func() {
|
||||
go func(logger Logger, lName string) {
|
||||
var err2 error
|
||||
defer wg.Done()
|
||||
if err2 = l.SetPrefix(prefix); err != nil {
|
||||
errs.AddError(errors.New(fmt.Sprintf("error on SetPrefix for logger %v; follows (may be out of order):", lName)))
|
||||
errs.AddError(err2)
|
||||
err2 = nil
|
||||
}
|
||||
}()
|
||||
}(l, logName)
|
||||
}
|
||||
|
||||
wg.Wait()
|
||||
@@ -149,15 +155,16 @@ func (m *MultiLogger) Alert(s string, v ...interface{}) (err error) {
|
||||
var wg sync.WaitGroup
|
||||
var e *multierr.MultiError = multierr.NewMultiError(nil)
|
||||
|
||||
for _, l := range m.Loggers {
|
||||
for logName, l := range m.Loggers {
|
||||
wg.Add(1)
|
||||
go func(logObj Logger, msg string, rplc ...interface{}) {
|
||||
go func(logObj Logger, msg, lName string, rplc ...interface{}) {
|
||||
defer wg.Done()
|
||||
if err = logObj.Alert(msg, rplc...); err != nil {
|
||||
e.AddError(errors.New(fmt.Sprintf("error on Alert for logger %v; follows (may be out of order):", lName)))
|
||||
e.AddError(err)
|
||||
err = nil
|
||||
}
|
||||
}(l, s, v...)
|
||||
}(l, s, logName, v...)
|
||||
}
|
||||
|
||||
wg.Wait()
|
||||
@@ -175,15 +182,16 @@ func (m *MultiLogger) Crit(s string, v ...interface{}) (err error) {
|
||||
var wg sync.WaitGroup
|
||||
var e *multierr.MultiError = multierr.NewMultiError(nil)
|
||||
|
||||
for _, l := range m.Loggers {
|
||||
for logName, l := range m.Loggers {
|
||||
wg.Add(1)
|
||||
go func(logObj Logger, msg string, rplc ...interface{}) {
|
||||
go func(logObj Logger, msg, lName string, rplc ...interface{}) {
|
||||
defer wg.Done()
|
||||
if err = logObj.Crit(msg, rplc...); err != nil {
|
||||
e.AddError(errors.New(fmt.Sprintf("error on Crit for logger %v; follows (may be out of order):", lName)))
|
||||
e.AddError(err)
|
||||
err = nil
|
||||
}
|
||||
}(l, s, v...)
|
||||
}(l, s, logName, v...)
|
||||
}
|
||||
|
||||
wg.Wait()
|
||||
@@ -201,15 +209,16 @@ func (m *MultiLogger) Debug(s string, v ...interface{}) (err error) {
|
||||
var wg sync.WaitGroup
|
||||
var e *multierr.MultiError = multierr.NewMultiError(nil)
|
||||
|
||||
for _, l := range m.Loggers {
|
||||
for logName, l := range m.Loggers {
|
||||
wg.Add(1)
|
||||
go func(logObj Logger, msg string, rplc ...interface{}) {
|
||||
go func(logObj Logger, msg, lName string, rplc ...interface{}) {
|
||||
defer wg.Done()
|
||||
if err = logObj.Debug(msg, rplc...); err != nil {
|
||||
e.AddError(errors.New(fmt.Sprintf("error on Debug for logger %v; follows (may be out of order):", lName)))
|
||||
e.AddError(err)
|
||||
err = nil
|
||||
}
|
||||
}(l, s, v...)
|
||||
}(l, s, logName, v...)
|
||||
}
|
||||
|
||||
wg.Wait()
|
||||
@@ -226,15 +235,16 @@ func (m *MultiLogger) Emerg(s string, v ...interface{}) (err error) {
|
||||
var wg sync.WaitGroup
|
||||
var e *multierr.MultiError = multierr.NewMultiError(nil)
|
||||
|
||||
for _, l := range m.Loggers {
|
||||
for logName, l := range m.Loggers {
|
||||
wg.Add(1)
|
||||
go func(logObj Logger, msg string, rplc ...interface{}) {
|
||||
go func(logObj Logger, msg, lName string, rplc ...interface{}) {
|
||||
defer wg.Done()
|
||||
if err = logObj.Emerg(msg, rplc...); err != nil {
|
||||
e.AddError(errors.New(fmt.Sprintf("error on Emerg for logger %v; follows (may be out of order):", lName)))
|
||||
e.AddError(err)
|
||||
err = nil
|
||||
}
|
||||
}(l, s, v...)
|
||||
}(l, s, logName, v...)
|
||||
}
|
||||
|
||||
wg.Wait()
|
||||
@@ -251,15 +261,16 @@ func (m *MultiLogger) Err(s string, v ...interface{}) (err error) {
|
||||
var wg sync.WaitGroup
|
||||
var e *multierr.MultiError = multierr.NewMultiError(nil)
|
||||
|
||||
for _, l := range m.Loggers {
|
||||
for logName, l := range m.Loggers {
|
||||
wg.Add(1)
|
||||
go func(logObj Logger, msg string, rplc ...interface{}) {
|
||||
go func(logObj Logger, msg, lName string, rplc ...interface{}) {
|
||||
defer wg.Done()
|
||||
if err = logObj.Err(msg, rplc...); err != nil {
|
||||
e.AddError(errors.New(fmt.Sprintf("error on Err for logger %v; follows (may be out of order):", lName)))
|
||||
e.AddError(err)
|
||||
err = nil
|
||||
}
|
||||
}(l, s, v...)
|
||||
}(l, s, logName, v...)
|
||||
}
|
||||
|
||||
wg.Wait()
|
||||
@@ -277,15 +288,16 @@ func (m *MultiLogger) Info(s string, v ...interface{}) (err error) {
|
||||
var wg sync.WaitGroup
|
||||
var e *multierr.MultiError = multierr.NewMultiError(nil)
|
||||
|
||||
for _, l := range m.Loggers {
|
||||
for logName, l := range m.Loggers {
|
||||
wg.Add(1)
|
||||
go func(logObj Logger, msg string, rplc ...interface{}) {
|
||||
go func(logObj Logger, msg, lName string, rplc ...interface{}) {
|
||||
defer wg.Done()
|
||||
if err = logObj.Info(msg, rplc...); err != nil {
|
||||
e.AddError(errors.New(fmt.Sprintf("error on Info for logger %v; follows (may be out of order):", lName)))
|
||||
e.AddError(err)
|
||||
err = nil
|
||||
}
|
||||
}(l, s, v...)
|
||||
}(l, s, logName, v...)
|
||||
}
|
||||
|
||||
wg.Wait()
|
||||
@@ -303,15 +315,16 @@ func (m *MultiLogger) Notice(s string, v ...interface{}) (err error) {
|
||||
var wg sync.WaitGroup
|
||||
var e *multierr.MultiError = multierr.NewMultiError(nil)
|
||||
|
||||
for _, l := range m.Loggers {
|
||||
for logName, l := range m.Loggers {
|
||||
wg.Add(1)
|
||||
go func(logObj Logger, msg string, rplc ...interface{}) {
|
||||
go func(logObj Logger, msg, lName string, rplc ...interface{}) {
|
||||
defer wg.Done()
|
||||
if err = logObj.Notice(msg, rplc...); err != nil {
|
||||
e.AddError(errors.New(fmt.Sprintf("error on Notice for logger %v; follows (may be out of order):", lName)))
|
||||
e.AddError(err)
|
||||
err = nil
|
||||
}
|
||||
}(l, s, v...)
|
||||
}(l, s, logName, v...)
|
||||
}
|
||||
|
||||
wg.Wait()
|
||||
@@ -329,15 +342,16 @@ func (m *MultiLogger) Warning(s string, v ...interface{}) (err error) {
|
||||
var wg sync.WaitGroup
|
||||
var e *multierr.MultiError = multierr.NewMultiError(nil)
|
||||
|
||||
for _, l := range m.Loggers {
|
||||
for logName, l := range m.Loggers {
|
||||
wg.Add(1)
|
||||
go func(logObj Logger, msg string, rplc ...interface{}) {
|
||||
go func(logObj Logger, msg, lName string, rplc ...interface{}) {
|
||||
defer wg.Done()
|
||||
if err = logObj.Warning(msg, rplc...); err != nil {
|
||||
e.AddError(errors.New(fmt.Sprintf("error on Warning for logger %v; follows (may be out of order):", lName)))
|
||||
e.AddError(err)
|
||||
err = nil
|
||||
}
|
||||
}(l, s, v...)
|
||||
}(l, s, logName, v...)
|
||||
}
|
||||
|
||||
wg.Wait()
|
||||
|
||||
Reference in New Issue
Block a user