Skip to content

Commit

Permalink
refactor: 重构 log 包,由 zap 改为 slog
Browse files Browse the repository at this point in the history
  • Loading branch information
kercylan98 committed Jan 4, 2024
1 parent bb06cbf commit 71a3b34
Show file tree
Hide file tree
Showing 17 changed files with 1,794 additions and 467 deletions.
6 changes: 3 additions & 3 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ require (
github.com/json-iterator/go v1.1.12
github.com/panjf2000/ants/v2 v2.8.1
github.com/panjf2000/gnet v1.6.7
github.com/pkg/errors v0.9.1
github.com/smartystreets/goconvey v1.8.1
github.com/sony/sonyflake v1.2.0
github.com/spf13/cobra v1.7.0
Expand All @@ -21,10 +22,8 @@ require (
github.com/tidwall/gjson v1.16.0
github.com/xtaci/kcp-go/v5 v5.6.3
go.uber.org/atomic v1.10.0
go.uber.org/zap v1.25.0
golang.org/x/crypto v0.17.0
google.golang.org/grpc v1.59.0
gopkg.in/natefinch/lumberjack.v2 v2.2.1
)

require (
Expand All @@ -49,7 +48,6 @@ require (
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/pelletier/go-toml/v2 v2.0.8 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/smarty/assertions v1.15.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect
Expand All @@ -62,6 +60,7 @@ require (
github.com/ugorji/go/codec v1.2.11 // indirect
github.com/valyala/bytebufferpool v1.0.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.25.0 // indirect
golang.org/x/arch v0.3.0 // indirect
golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect
golang.org/x/net v0.17.0 // indirect
Expand All @@ -70,5 +69,6 @@ require (
golang.org/x/text v0.14.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b // indirect
google.golang.org/protobuf v1.31.0 // indirect
gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
9 changes: 5 additions & 4 deletions server/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (
"github.com/kercylan98/minotaur/utils/concurrent"
"github.com/kercylan98/minotaur/utils/log"
"github.com/kercylan98/minotaur/utils/network"
"github.com/kercylan98/minotaur/utils/sher"
"github.com/kercylan98/minotaur/utils/str"
"github.com/kercylan98/minotaur/utils/super"
"github.com/kercylan98/minotaur/utils/timer"
Expand Down Expand Up @@ -451,7 +452,7 @@ func (srv *Server) low(message *Message, present time.Time, expect time.Duration
fields = append(fields, log.String("type", messageNames[message.t]), log.String("cost", cost.String()), log.String("message", message.String()))
fields = append(fields, message.marks...)
//fields = append(fields, log.Stack("stack"))
log.Warn("ServerLowMessage", fields...)
log.Warn("ServerLowMessage", sher.SliceCastToAny(fields)...)
srv.OnMessageLowExecEvent(message, cost)
}
}
Expand Down Expand Up @@ -742,14 +743,14 @@ func showServersInfo(mark string, servers ...*Server) {
for _, srv := range servers {
srv := srv
serverInfos = append(serverInfos, func() {
log.Info("Server", log.String(mark, "RunningInfo"), log.Any("network", srv.network), log.String("ip", ip.String()), log.String("listen", srv.addr))
log.Info(mark, log.String("", "RunningInfo"), log.Any("network", srv.network), log.String("ip", ip.String()), log.String("listen", srv.addr))
})
}
log.Info("Server", log.String(mark, "===================================================================="))
log.Info(mark, log.String("", "===================================================================="))
for _, info := range serverInfos {
info()
}
log.Info("Server", log.String(mark, "===================================================================="))
log.Info(mark, log.String("", "===================================================================="))
}

// onServicesInit 服务初始化
Expand Down
56 changes: 56 additions & 0 deletions utils/log/buffer.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
package log

import "sync"

type buffer struct {
bytes *[]byte
disableColor bool
}

var bufPool = sync.Pool{
New: func() any {
buf := make([]byte, 0, 1024)
return &buffer{
bytes: &buf,
}
},
}

func newBuffer(handler *handler) *buffer {
buf := bufPool.Get().(*buffer)
buf.disableColor = handler.opts.DisableColor
return buf
}

func (b *buffer) Free() {
const maxBufferSize = 16 << 10
if cap(*b.bytes) <= maxBufferSize {
*b.bytes = (*b.bytes)[:0]
b.disableColor = false
bufPool.Put(b)
}
}
func (b *buffer) Write(bytes []byte) *buffer {
*b.bytes = append(*b.bytes, bytes...)
return b
}

func (b *buffer) WriteBytes(char ...byte) *buffer {
*b.bytes = append(*b.bytes, char...)
return b
}

func (b *buffer) WriteString(str string) *buffer {
*b.bytes = append(*b.bytes, str...)
return b
}

func (b *buffer) WriteColorString(str ...string) *buffer {
for _, s := range str {
_, isColor := colors[s]
if !isColor || !b.disableColor {
b.WriteString(s)
}
}
return b
}
11 changes: 11 additions & 0 deletions utils/log/caller.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package log

import (
"path/filepath"
"strconv"
)

// CallerBasicFormat 返回调用者的基本格式
func CallerBasicFormat(file string, line int) (repFile, refLine string) {
return filepath.Base(file), strconv.Itoa(line)
}

0 comments on commit 71a3b34

Please sign in to comment.