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 }