|
|
|
@ -22,7 +22,7 @@ const (
|
|
|
|
|
// LevelDebug 终端打印
|
|
|
|
|
LevelDebug = "DEBUG" |
|
|
|
|
|
|
|
|
|
// LevelInfo 写入日志,生产使用
|
|
|
|
|
// LevelInfo 不打印
|
|
|
|
|
LevelInfo = "INFO" |
|
|
|
|
|
|
|
|
|
// LevelPath 写入文件【待开发】
|
|
|
|
@ -62,22 +62,25 @@ type SystemLog struct {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
type klogger struct { |
|
|
|
|
level string |
|
|
|
|
pool *sync.Pool |
|
|
|
|
logger klog.Logger |
|
|
|
|
prefix []interface{} |
|
|
|
|
hasValuer bool |
|
|
|
|
ctx context.Context |
|
|
|
|
path string |
|
|
|
|
// 日志等级
|
|
|
|
|
level string |
|
|
|
|
|
|
|
|
|
// 日志服务池
|
|
|
|
|
pool *sync.Pool |
|
|
|
|
|
|
|
|
|
// kratos日志包
|
|
|
|
|
logger klog.Logger |
|
|
|
|
|
|
|
|
|
//prefix []interface{}
|
|
|
|
|
//hasValuer bool
|
|
|
|
|
ctx context.Context |
|
|
|
|
path string |
|
|
|
|
|
|
|
|
|
// 是否
|
|
|
|
|
debug bool |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func NewKLogger(c *conf.Log) klog.Logger { |
|
|
|
|
if c.Level == "" { |
|
|
|
|
c.Level = LevelDebug |
|
|
|
|
} else { |
|
|
|
|
c.Level = strings.ToUpper(c.Level) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
switch c.Level { |
|
|
|
|
case "": |
|
|
|
|
c.Level = LevelDebug |
|
|
|
@ -88,15 +91,21 @@ func NewKLogger(c *conf.Log) klog.Logger {
|
|
|
|
|
default: |
|
|
|
|
c.Level = strings.ToUpper(c.Level) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
kl := &klogger{ |
|
|
|
|
level: c.Level, |
|
|
|
|
path: c.Path, |
|
|
|
|
debug: c.Debug, |
|
|
|
|
} |
|
|
|
|
kl.pool = &sync.Pool{ |
|
|
|
|
New: func() interface{} { |
|
|
|
|
return kafka.NewSender(c.Kafka, LogKafkaTopic) |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
if !c.Debug { |
|
|
|
|
kl.pool = &sync.Pool{ |
|
|
|
|
New: func() interface{} { |
|
|
|
|
return kafka.NewSender(c.Kafka, LogKafkaTopic) |
|
|
|
|
}, |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return kl |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -140,7 +149,7 @@ func (l *klogger) Log(level klog.Level, keyvals ...interface{}) error {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 忽略debug的打印
|
|
|
|
|
if level.String() != LevelDebug { |
|
|
|
|
if level.String() != LevelDebug && !l.debug { |
|
|
|
|
go func() { |
|
|
|
|
sender := l.pool.Get().(*kafka.Sender) |
|
|
|
|
if sender != nil { |
|
|
|
|