
ADDED: * Basic macOS support (and BSD support, etc.) * macOS has its own proprietary logging, ULS ("Unified Logging System"), but there doesn't seem to be native Golang support. So lolbai; your only options are syslog, stdlog, null log, filelog, and the "meta" logs (multilog, default log- which should use syslog).
42 lines
940 B
Go
42 lines
940 B
Go
//go:build !(windows || plan9 || wasip1 || js || ios || linux)
|
|
// +build !windows,!plan9,!wasip1,!js,!ios,!linux
|
|
|
|
// Linux is excluded because it has its own.
|
|
|
|
package logging
|
|
|
|
import (
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
/*
|
|
AddDefaultLogger adds a default Logger (as would be determined by GetLogger) to a MultiLogger.
|
|
|
|
identifier is a string to use to identify the added Logger in MultiLogger.Loggers.
|
|
If empty, one will be automatically generated.
|
|
|
|
See the documentation for GetLogger for details on other arguments.
|
|
*/
|
|
func (m *MultiLogger) AddDefaultLogger(identifier string, logFlags int, logPaths ...string) (err error) {
|
|
|
|
var l Logger
|
|
var exists bool
|
|
|
|
if identifier == "" {
|
|
identifier = uuid.New().String()
|
|
}
|
|
|
|
if _, exists = m.Loggers[identifier]; exists {
|
|
err = ErrExistingLogger
|
|
return
|
|
}
|
|
|
|
if l, err = GetLogger(m.EnableDebug, m.Prefix, logFlags, logPaths...); err != nil {
|
|
return
|
|
}
|
|
|
|
m.Loggers[identifier] = l
|
|
|
|
return
|
|
}
|