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).
This commit is contained in:
brent saner 2025-02-10 13:01:46 -05:00
parent 2203de4e32
commit e734e847c4
Signed by: bts
GPG Key ID: 8C004C2F93481F6B

View File

@ -0,0 +1,41 @@
//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
}