Closed garroshh closed 1 year ago
Add fundamental logger mechanism
目前 OpenSergo 控制面的日志机制非常简单,复用了 Sentinel Go 的日志模块。我们需要设计一个通用的 logger 机制与基本实现,并支持任意扩展。
基于zap封装,达到高性能(更少的内存分配及非sugar log 未使用反射)
定义日志选项
创建全局logger及各级别打印方法
写入到支持的输出设备中
https://pkg.go.dev/golang.org/x/exp/slog
https://github.com/uber-go/zap
https://github.com/golang/glog
https://github.com/istio/klog
https://github.com/go-logr/logr
https://github.com/go-kratos/kratos
https://github.com/zeromicro/go-zero
reference unit test
Describe what this PR does / why we need it
Add fundamental logger mechanism
Does this pull request fix one issue?
16
Describe how you did it
需求
目前 OpenSergo 控制面的日志机制非常简单,复用了 Sentinel Go 的日志模块。我们需要设计一个通用的 logger 机制与基本实现,并支持任意扩展。
功能分析
概要设计
基于zap封装,达到高性能(更少的内存分配及非sugar log 未使用反射)
定义日志选项
创建全局logger及各级别打印方法
写入到支持的输出设备中
参考
https://pkg.go.dev/golang.org/x/exp/slog
https://github.com/uber-go/zap
https://github.com/golang/glog
https://github.com/istio/klog
https://github.com/go-logr/logr
https://github.com/go-kratos/kratos
https://github.com/zeromicro/go-zero
Describe how to verify it
reference unit test
Special notes for reviews