From e734e847c488731150852d124ea7e3b206eaf78c Mon Sep 17 00:00:00 2001 From: brent saner Date: Mon, 10 Feb 2025 13:01:46 -0500 Subject: [PATCH] v1.8.0 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). --- logging/funcs_multilogger_mgr_oldnix.go | 41 +++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 logging/funcs_multilogger_mgr_oldnix.go diff --git a/logging/funcs_multilogger_mgr_oldnix.go b/logging/funcs_multilogger_mgr_oldnix.go new file mode 100644 index 0000000..179c16f --- /dev/null +++ b/logging/funcs_multilogger_mgr_oldnix.go @@ -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 +}