ADDED:
* logging.Logger objects now are able to return a stdlib *log.Logger.
This commit is contained in:
brent saner
2024-06-19 18:57:26 -04:00
parent ae49f42c0c
commit e5191383a7
12 changed files with 198 additions and 0 deletions

View File

@@ -3,8 +3,12 @@ package logging
import (
"log"
"os"
`r00t2.io/goutils/bitmask`
)
type logPrio bitmask.MaskBit
/*
Logger is one of the various loggers offered by this module.
*/
@@ -23,6 +27,7 @@ type Logger interface {
GetPrefix() (p string, err error)
Setup() (err error)
Shutdown() (err error)
ToLogger(prio logPrio) (stdLibLog *log.Logger)
}
/*
@@ -105,3 +110,12 @@ type MultiLogger struct {
*/
Loggers map[string]Logger
}
// logWriter is used as a log.Logger and is returned by <Logger>.ToLogger.
type logWriter struct {
backend Logger
prio logPrio
}
// nullWriter is used as a shortcut by NullLogger.ToLogger.
type nullWriter struct{}