Files
engine/log.go
2022-02-11 15:21:29 +08:00

34 lines
706 B
Go

package engine
import (
"io"
"github.com/mattn/go-colorable"
"github.com/Monibuca/engine/v4/util"
log "github.com/sirupsen/logrus"
)
// MultiLogWriter 可动态增减输出的多端写日志类
type MultiLogWriter struct {
writers util.Slice[io.Writer]
io.Writer
}
var colorableStdout = colorable.NewColorableStdout()
var LogWriter = MultiLogWriter{
writers: util.Slice[io.Writer]{colorableStdout},
Writer: colorableStdout,
}
func init() {
log.SetOutput(LogWriter)
}
func (ml *MultiLogWriter) Add(w io.Writer) {
ml.writers.Add(w)
ml.Writer = io.MultiWriter(ml.writers...)
}
func (ml *MultiLogWriter) Delete(w io.Writer) {
ml.writers.Delete(w)
ml.Writer = io.MultiWriter(ml.writers...)
}