go-peer/pkg/logger/settings.go
2024-07-23 04:35:15 +07:00

42 lines
616 B
Go

package logger
import (
"io"
)
var (
_ ISettings = &sSettings{}
)
type SSettings sSettings
type sSettings struct {
FInfo io.Writer
FWarn io.Writer
FErro io.Writer
}
func NewSettings(pSett *SSettings) ISettings {
return (&sSettings{
FInfo: pSett.FInfo,
FWarn: pSett.FWarn,
FErro: pSett.FErro,
}).mustNotNull()
}
func (p *sSettings) mustNotNull() ISettings {
// set nil for void fields
return p
}
func (p *sSettings) GetInfoWriter() io.Writer {
return p.FInfo
}
func (p *sSettings) GetWarnWriter() io.Writer {
return p.FWarn
}
func (p *sSettings) GetErroWriter() io.Writer {
return p.FErro
}