|
|
@@ -19,13 +19,13 @@ import (
|
|
|
// 如非深度定制化扩展,非必要不建议使用 Logger.AddCore 进行扩展,该操作会
|
|
|
// 导致客户端应用程序对zap包编译依赖,不保证fslog切换内部日志实现。
|
|
|
type Logger struct {
|
|
|
+ // 日志打印用
|
|
|
+ Logger zap.SugaredLogger
|
|
|
+
|
|
|
// 互斥量
|
|
|
// 用于内部不可并发逻辑使用
|
|
|
lock sync.Mutex
|
|
|
|
|
|
- // 日志打印用
|
|
|
- logger zap.SugaredLogger
|
|
|
-
|
|
|
// 当前日志打印级别
|
|
|
// 借助zap内部级别设置机制,该机制
|
|
|
// 内部使用乐观锁,协程安全
|
|
|
@@ -58,7 +58,7 @@ func New(opts ...LoggerOption) *Logger {
|
|
|
// 打印后,该信息会跟随日志一起打印
|
|
|
func (l *Logger) With(k string, v any) *Logger {
|
|
|
newL := l.clone()
|
|
|
- newL.logger = *newL.logger.With(zap.Any(k, v))
|
|
|
+ newL.Logger = *newL.Logger.With(zap.Any(k, v))
|
|
|
return newL
|
|
|
}
|
|
|
|
|
|
@@ -66,30 +66,30 @@ func (l *Logger) With(k string, v any) *Logger {
|
|
|
// 不同于zap内部可变参数逻辑,该可变参数是用于,字符串格式化的
|
|
|
func (l *Logger) Debug(msg string, vs ...any) {
|
|
|
if len(vs) == 0 {
|
|
|
- l.logger.Debug(msg)
|
|
|
+ l.Logger.Debug(msg)
|
|
|
return
|
|
|
}
|
|
|
- l.logger.Debugf(msg, vs...)
|
|
|
+ l.Logger.Debugf(msg, vs...)
|
|
|
}
|
|
|
|
|
|
// Info 格式化打印信息级别日志
|
|
|
// 不同于zap内部可变参数逻辑,该可变参数是用于,字符串格式化的
|
|
|
func (l *Logger) Info(msg string, vs ...any) {
|
|
|
if len(vs) == 0 {
|
|
|
- l.logger.Info(msg)
|
|
|
+ l.Logger.Info(msg)
|
|
|
return
|
|
|
}
|
|
|
- l.logger.Infof(msg, vs...)
|
|
|
+ l.Logger.Infof(msg, vs...)
|
|
|
}
|
|
|
|
|
|
// Warn 格式化打印警告级别日志
|
|
|
// 不同于zap内部可变参数逻辑,该可变参数是用于,字符串格式化的
|
|
|
func (l *Logger) Warn(msg string, vs ...any) {
|
|
|
if len(vs) == 0 {
|
|
|
- l.logger.Warn(msg)
|
|
|
+ l.Logger.Warn(msg)
|
|
|
return
|
|
|
}
|
|
|
- l.logger.Warnf(msg, vs...)
|
|
|
+ l.Logger.Warnf(msg, vs...)
|
|
|
}
|
|
|
|
|
|
// Error 打印错误级别日志
|
|
|
@@ -105,11 +105,11 @@ func (l *Logger) Error(vs ...any) {
|
|
|
err, ok := vs[0].(error)
|
|
|
if ok {
|
|
|
if len(vs) == 1 {
|
|
|
- l.logger.Errorf("%+v", err)
|
|
|
+ l.Logger.Errorf("%+v", err)
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- withed := l.logger.With(zap.String("err", fmt.Sprintf("%+v", err)))
|
|
|
+ withed := l.Logger.With(zap.String("err", fmt.Sprintf("%+v", err)))
|
|
|
msg, ok := vs[1].(string)
|
|
|
if ok {
|
|
|
withed.Errorf(msg, vs[2:])
|
|
|
@@ -123,12 +123,12 @@ func (l *Logger) Error(vs ...any) {
|
|
|
msg, ok := vs[0].(string)
|
|
|
if ok {
|
|
|
if len(vs) > 1 {
|
|
|
- l.logger.Errorf(msg, vs[1:]...)
|
|
|
+ l.Logger.Errorf(msg, vs[1:]...)
|
|
|
return
|
|
|
}
|
|
|
|
|
|
if len(vs) == 1 {
|
|
|
- l.logger.Error(vs[0])
|
|
|
+ l.Logger.Error(vs[0])
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
@@ -176,7 +176,7 @@ func (l *Logger) AddCore(core ...zapcore.Core) {
|
|
|
|
|
|
// Flush 将缓冲区日志刷新至目标
|
|
|
func (l *Logger) Flush() {
|
|
|
- err := l.logger.Sync()
|
|
|
+ err := l.Logger.Sync()
|
|
|
if err != nil {
|
|
|
With("err", err.Error()).Warn("flushLogger log error")
|
|
|
}
|
|
|
@@ -200,7 +200,7 @@ func (l *Logger) clone() *Logger {
|
|
|
func (l *Logger) flushLogger() {
|
|
|
l.lock.Lock()
|
|
|
defer l.lock.Unlock()
|
|
|
- l.logger = *zap.
|
|
|
+ l.Logger = *zap.
|
|
|
New(
|
|
|
zapcore.NewTee(l.cores...),
|
|
|
zap.AddCaller(),
|