package logx
|
|
import (
|
"fmt"
|
"go.uber.org/zap"
|
"go.uber.org/zap/zapcore"
|
"time"
|
)
|
|
type ConsoleLog struct {
|
val string
|
}
|
|
func NewConsoleLog() Encoder {
|
return new(ConsoleLog)
|
}
|
|
// Config 自定义配置.
|
func (slf *ConsoleLog) Config() zapcore.Encoder {
|
var (
|
cfg = zap.NewProductionEncoderConfig()
|
)
|
|
// 时间格式自定义
|
cfg.EncodeTime = func(t time.Time, enc zapcore.PrimitiveArrayEncoder) {
|
enc.AppendString("[" + t.Format("2006-01-02 15:04:05") + "]")
|
}
|
// 打印路径自定义
|
cfg.EncodeCaller = func(caller zapcore.EntryCaller, encoder zapcore.PrimitiveArrayEncoder) {
|
encoder.AppendString("[" + getFilePath(caller) + "]")
|
}
|
// 级别显示自定义
|
cfg.EncodeLevel = func(level zapcore.Level, encoder zapcore.PrimitiveArrayEncoder) {
|
encoder.AppendString("[" + level.String() + "]")
|
}
|
return zapcore.NewConsoleEncoder(cfg)
|
}
|
|
// WithKey 添加单个键.
|
func (slf *ConsoleLog) WithKey(key string) Encoder {
|
slf.val = slf.val + "[" + key + "] "
|
return slf
|
}
|
|
// WithField 添加字段.
|
func (slf *ConsoleLog) WithField(key, val string) Encoder {
|
slf.val = slf.val + fmt.Sprintf("[%s:%s] ", key, val)
|
return slf
|
}
|
|
func (slf *ConsoleLog) Debug(msg string) {
|
_logger.Debug(slf.val + msg)
|
}
|
|
func (slf *ConsoleLog) Debugf(format string, v ...interface{}) {
|
_logger.Debug(fmt.Sprintf(slf.val+format, v...))
|
}
|
|
func (slf *ConsoleLog) Info(msg string) {
|
_logger.Info(slf.val + msg)
|
}
|
|
func (slf *ConsoleLog) Infof(format string, v ...interface{}) {
|
_logger.Info(fmt.Sprintf(slf.val+format, v...))
|
}
|
|
func (slf *ConsoleLog) Warn(msg string) {
|
_logger.Warn(slf.val + msg)
|
}
|
|
func (slf *ConsoleLog) Warnf(format string, v ...interface{}) {
|
_logger.Warn(fmt.Sprintf(slf.val+format, v...))
|
}
|
|
func (slf *ConsoleLog) Error(msg string) {
|
_logger.Error(slf.val + msg)
|
}
|
|
func (slf *ConsoleLog) Errorf(format string, v ...interface{}) {
|
_logger.Error(fmt.Sprintf(slf.val+format, v...))
|
}
|
|
func (slf *ConsoleLog) Fatal(msg string) {
|
_logger.Fatal(slf.val + msg)
|
}
|
|
func (slf *ConsoleLog) Fatalf(format string, v ...interface{}) {
|
_logger.Fatal(fmt.Sprintf(slf.val+format, v...))
|
}
|