项目中有一些使用Golang进行开发的中间件,以及小工具,现在检查服务器IO发现Golang的日志输出导致磁盘IO紧张,现在采取 RingBuffer + Driect IO进行处理
package logger
import (
"errors"
)
var (
ErrClosed = errors.New("logger is closed")
)
// Logger 基本方法
type Logger interface {
Write(b []byte) (n int, err error)
flush()
worker()
GetWriter()(interface{})
}