ADD:
* `iox` subpackage

FIX:
* `logging` now has a way to return logWritier directly
* added significant `io.*` interface compat to logWriter -- allowing a `logging.Logger` to essentially be used for a large amount of io interaction in other libraries.
This commit is contained in:
brent saner
2025-07-31 03:20:28 -04:00
parent dc2ed32352
commit d9bd928edb
22 changed files with 393 additions and 42 deletions

View File

@@ -3,7 +3,7 @@ package logging
import (
"errors"
"fmt"
`log`
"log"
"sync"
"r00t2.io/goutils/multierr"
@@ -375,7 +375,15 @@ func (m *MultiLogger) Warning(s string, v ...interface{}) (err error) {
// ToLogger returns a stdlib log.Logger.
func (m *MultiLogger) ToLogger(prio logPrio) (stdLibLog *log.Logger) {
stdLibLog = log.New(&logWriter{backend: m, prio: prio}, "", 0)
stdLibLog = log.New(m.ToRaw(prio), "", 0)
return
}
// ToRaw returns a *logWriter.
func (m *MultiLogger) ToRaw(prio logPrio) (raw *logWriter) {
raw = &logWriter{backend: m, prio: prio}
return
}