| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- package logx
- import (
- "fmt"
- "go.uber.org/zap"
- "go.uber.org/zap/zapcore"
- "time"
- )
- type JsonLog struct {
- fields []zap.Field
- val string
- }
- // NewJsonLog 自定义添加log field.
- func NewJsonLog() Encoder {
- return &JsonLog{fields: make([]zap.Field, 0)}
- }
- // Config 自定义配置.
- func (slf *JsonLog) 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.NewJSONEncoder(cfg)
- }
- // WithKey 添加单个键.
- func (slf *JsonLog) WithKey(key string) Encoder {
- slf.val = slf.val + key + " "
- return slf
- }
- // WithField 添加字段.
- func (slf *JsonLog) WithField(key, val string) Encoder {
- slf.fields = append(slf.fields, zap.String(key, val))
- return slf
- }
- func (slf *JsonLog) Debug(msg string) {
- _logger.Debug(slf.val+msg, slf.fields...)
- }
- func (slf *JsonLog) Debugf(format string, v ...interface{}) {
- _logger.Debug(fmt.Sprintf(slf.val+format, v...), slf.fields...)
- }
- func (slf *JsonLog) Info(msg string) {
- _logger.Info(slf.val+msg, slf.fields...)
- }
- func (slf *JsonLog) Infof(format string, v ...interface{}) {
- _logger.Info(fmt.Sprintf(slf.val+format, v...), slf.fields...)
- }
- func (slf *JsonLog) Warn(msg string) {
- _logger.Warn(slf.val+msg, slf.fields...)
- }
- func (slf *JsonLog) Warnf(format string, v ...interface{}) {
- _logger.Warn(fmt.Sprintf(slf.val+format, v...), slf.fields...)
- }
- func (slf *JsonLog) Error(msg string) {
- _logger.Error(slf.val+msg, slf.fields...)
- }
- func (slf *JsonLog) Errorf(format string, v ...interface{}) {
- _logger.Error(fmt.Sprintf(slf.val+format, v...), slf.fields...)
- }
- func (slf *JsonLog) Fatal(msg string) {
- _logger.Fatal(slf.val+msg, slf.fields...)
- }
- func (slf *JsonLog) Fatalf(format string, v ...interface{}) {
- _logger.Fatal(fmt.Sprintf(slf.val+format, v...), slf.fields...)
- }
|