slog/stdoutlogger.go

38 lines
491 B
Go

package slog
import (
"os"
"sync"
)
type StdoutLogger struct {
m sync.Mutex
}
func (s *StdoutLogger) Write(p []byte) (n int, err error) {
s.m.Lock()
defer s.m.Unlock()
return os.Stdout.Write(p)
}
func (s *StdoutLogger) WriteE(p []byte) (n int, err error) {
s.m.Lock()
defer s.m.Unlock()
return os.Stderr.Write(p)
}
func (s *StdoutLogger) Close() error {
s.m.Lock()
defer s.m.Unlock()
return nil
}
func NewStdoutLogger() SLogLogI {
ret := &StdoutLogger{}
return ret
}