log/logjson提供NewSyncWriter和NewBytesBufferPool;
This commit is contained in:
@@ -60,10 +60,10 @@ func newConfig(opts ...Option) *config {
|
|||||||
opt.apply(cfg)
|
opt.apply(cfg)
|
||||||
}
|
}
|
||||||
if !cfg.hasPool {
|
if !cfg.hasPool {
|
||||||
cfg.bytesBufferPool = newBytesBufferPool(512, 4096)
|
cfg.bytesBufferPool = NewBytesBufferPool(512, 4096)
|
||||||
}
|
}
|
||||||
if cfg.output == nil {
|
if cfg.output == nil {
|
||||||
cfg.output = newSyncWriter(os.Stderr)
|
cfg.output = NewSyncWriter(os.Stderr)
|
||||||
}
|
}
|
||||||
if cfg.timestampFormat == "" {
|
if cfg.timestampFormat == "" {
|
||||||
cfg.timestampFormat = time.RFC3339Nano
|
cfg.timestampFormat = time.RFC3339Nano
|
||||||
|
|||||||
@@ -10,7 +10,8 @@ type BytesBufferPool interface {
|
|||||||
Put(buffer *bytes.Buffer)
|
Put(buffer *bytes.Buffer)
|
||||||
}
|
}
|
||||||
|
|
||||||
func newBytesBufferPool(initialSize, maximumSize int) *bytesBufferPool {
|
// NewBytesBufferPool 创建并返回 BytesBufferPool
|
||||||
|
func NewBytesBufferPool(initialSize, maximumSize int) BytesBufferPool {
|
||||||
return &bytesBufferPool{
|
return &bytesBufferPool{
|
||||||
pool: sync.Pool{
|
pool: sync.Pool{
|
||||||
New: func() any {
|
New: func() any {
|
||||||
|
|||||||
@@ -5,7 +5,8 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
)
|
)
|
||||||
|
|
||||||
func newSyncWriter(writer io.Writer) io.Writer {
|
// NewSyncWriter 返回写互斥的 io.Writer
|
||||||
|
func NewSyncWriter(writer io.Writer) io.Writer {
|
||||||
return &syncWriter{
|
return &syncWriter{
|
||||||
writer: writer,
|
writer: writer,
|
||||||
lock: sync.Mutex{},
|
lock: sync.Mutex{},
|
||||||
|
|||||||
Reference in New Issue
Block a user