38 lines
491 B
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
|
|
}
|