log

package
v1.8.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 6, 2026 License: MIT, Apache-2.0 Imports: 27 Imported by: 22

README

core 核心包含编码和输出 sink 输出 encoder 编码 encoder+sink = zapcore.ioCore

钉钉 loki一类接口就需要特定字段结构化的,最好实现core,当然这往往需要自己实现encoder,sink即第三方接口

Documentation

Index

Constants

View Source
const (
	FieldStack    = "stack"
	FieldApi      = "api"
	FieldSource   = "source"
	FieldResult   = "result"
	FieldParam    = "param"
	FieldFunc     = "func"
	FieldMsg      = "msg"
	FieldPosition = "position"
	FieldTraceId  = "traceId"
	FieldSpanId   = "spanId"
	FieldKey      = "key"
	FieldValue    = "value"
	FieldInvalid  = "invalid"
	FieldIgnored  = "ignored"

	FieldType     = "type"
	FieldIP       = "ip"
	FieldHostname = "hostname"

	FieldTime   = "time"
	FieldApp    = "app"
	FieldLevel  = "level"
	FieldCaller = "caller"
)
View Source
const (
	EncodeLevelTypeColor        = "color"
	EncodeLevelTypCapital       = "capital"
	EncodeLevelTypeCapitalColor = "capitalColor"
)

Variables

This section is empty.

Functions

func Check

func Check(lvl zapcore.Level, args ...any) *zapcore.CheckedEntry

func Debug

func Debug(args ...any)

func Debugf

func Debugf(template string, args ...any)

func Debugw

func Debugw(msg string, fields ...zap.Field)

func DefaultReflectedEncoder added in v1.7.5

func DefaultReflectedEncoder(w io.Writer) zapcore.ReflectedEncoder

func Error

func Error(args ...any)

func Errorf

func Errorf(template string, args ...any)

func Errorw

func Errorw(msg string, fields ...zap.Field)

func Fatal

func Fatal(args ...any)

func Fatalf

func Fatalf(template string, args ...any)

func Fatalw

func Fatalw(msg string, fields ...zap.Field)

func FileWithLineNum

func FileWithLineNum() string

FileWithLineNum return the file name and line number of the current file

func Info

func Info(args ...any)

func Infof

func Infof(template string, args ...any)

func Infow

func Infow(msg string, fields ...zap.Field)

func Log

func Log(lvl zapcore.Level, args ...any)

func Logf

func Logf(lvl zapcore.Level, msg string, args ...any)

func Logw

func Logw(lvl zapcore.Level, msg string, fields ...zapcore.Field)

func NewDevelopmentEncoderConfig

func NewDevelopmentEncoderConfig() zapcore.EncoderConfig

func NewProductionEncoderConfig

func NewProductionEncoderConfig() zapcore.EncoderConfig

func Panic

func Panic(args ...any)

func Panicf

func Panicf(template string, args ...any)

func Panicw

func Panicw(msg string, fields ...zap.Field)

func Printf

func Printf(template string, args ...any)

func Println

func Println(args ...any)

func SetDefaultLogger

func SetDefaultLogger(logger *Logger)

func Sync

func Sync() error

func TrimLineBreak

func TrimLineBreak(path string) string

func ValueLevelNotify added in v1.3.15

func ValueLevelNotify[T constraintsx.Number](msg string, v, std T)

func ValueRangeNotify added in v1.3.15

func ValueRangeNotify[T cmp.Ordered](msg string, v, rangeMin, rangeMax T)

func Warn

func Warn(args ...any)

func Warnf

func Warnf(template string, args ...any)

func Warnw

func Warnw(msg string, fields ...zap.Field)

Types

type Config

type Config struct {
	Name              string `json:"name,omitempty"` //系统名称namespace.service
	Development       bool
	DisableCaller     bool
	DisableStacktrace bool
	Level             zapcore.Level       `json:"level,omitempty"`
	Sampling          *zap.SamplingConfig `json:"sampling" yaml:"sampling"`
	OutputPaths       OutPutPaths         `json:"outputPaths"`
	ErrorOutputPaths  []string
	// InitialFields is a collection of fields to add to the root logger.
	InitialFields map[string]interface{} `json:"initialFields" yaml:"initialFields"`
	zapcore.EncoderConfig
	EncodeLevelType string `json:"encodeLevelType,omitempty" comment:"capital;capitalColor;color"`
	TimeLayout      string
}

func NewDevelopmentConfig

func NewDevelopmentConfig(appName string) *Config

func NewProductionConfig

func NewProductionConfig(appName string) *Config

func (*Config) Init

func (lc *Config) Init()

func (*Config) NewLogger

func (lc *Config) NewLogger(cores ...zapcore.Core) *Logger

初始化日志对象

type CustomEncoder added in v1.7.16

type CustomEncoder struct {
	*CustomEncoderConfig
	// contains filtered or unexported fields
}

func NewCustomEncoder added in v1.7.16

func NewCustomEncoder(cfg *CustomEncoderConfig) *CustomEncoder

func (*CustomEncoder) AddArray added in v1.7.16

func (enc *CustomEncoder) AddArray(key string, arr zapcore.ArrayMarshaler) error

func (*CustomEncoder) AddBinary added in v1.7.16

func (enc *CustomEncoder) AddBinary(key string, val []byte)

func (*CustomEncoder) AddBool added in v1.7.16

func (enc *CustomEncoder) AddBool(key string, val bool)

func (*CustomEncoder) AddByteString added in v1.7.16

func (enc *CustomEncoder) AddByteString(key string, val []byte)

func (*CustomEncoder) AddComplex64 added in v1.7.16

func (enc *CustomEncoder) AddComplex64(key string, val complex64)

func (*CustomEncoder) AddComplex128 added in v1.7.16

func (enc *CustomEncoder) AddComplex128(key string, val complex128)

func (*CustomEncoder) AddDuration added in v1.7.16

func (enc *CustomEncoder) AddDuration(key string, val time.Duration)

func (*CustomEncoder) AddFloat32 added in v1.7.16

func (enc *CustomEncoder) AddFloat32(key string, val float32)

func (*CustomEncoder) AddFloat64 added in v1.7.16

func (enc *CustomEncoder) AddFloat64(key string, val float64)

func (*CustomEncoder) AddInt added in v1.7.16

func (enc *CustomEncoder) AddInt(k string, v int)

func (*CustomEncoder) AddInt8 added in v1.7.16

func (enc *CustomEncoder) AddInt8(k string, v int8)

func (*CustomEncoder) AddInt16 added in v1.7.16

func (enc *CustomEncoder) AddInt16(k string, v int16)

func (*CustomEncoder) AddInt32 added in v1.7.16

func (enc *CustomEncoder) AddInt32(k string, v int32)

func (*CustomEncoder) AddInt64 added in v1.7.16

func (enc *CustomEncoder) AddInt64(key string, val int64)

func (*CustomEncoder) AddObject added in v1.7.16

func (enc *CustomEncoder) AddObject(key string, obj zapcore.ObjectMarshaler) error

func (*CustomEncoder) AddReflected added in v1.7.16

func (enc *CustomEncoder) AddReflected(key string, obj interface{}) error

func (*CustomEncoder) AddString added in v1.7.16

func (enc *CustomEncoder) AddString(key, val string)

func (*CustomEncoder) AddTime added in v1.7.16

func (enc *CustomEncoder) AddTime(key string, val time.Time)

func (*CustomEncoder) AddUint added in v1.7.16

func (enc *CustomEncoder) AddUint(k string, v uint)

func (*CustomEncoder) AddUint8 added in v1.7.16

func (enc *CustomEncoder) AddUint8(k string, v uint8)

func (*CustomEncoder) AddUint16 added in v1.7.16

func (enc *CustomEncoder) AddUint16(k string, v uint16)

func (*CustomEncoder) AddUint32 added in v1.7.16

func (enc *CustomEncoder) AddUint32(k string, v uint32)

func (*CustomEncoder) AddUint64 added in v1.7.16

func (enc *CustomEncoder) AddUint64(key string, val uint64)

func (*CustomEncoder) AddUintptr added in v1.7.16

func (enc *CustomEncoder) AddUintptr(k string, v uintptr)

func (*CustomEncoder) AppendArray added in v1.7.16

func (enc *CustomEncoder) AppendArray(arr zapcore.ArrayMarshaler) error

func (*CustomEncoder) AppendBool added in v1.7.16

func (enc *CustomEncoder) AppendBool(val bool)

func (*CustomEncoder) AppendByteString added in v1.7.16

func (enc *CustomEncoder) AppendByteString(val []byte)

func (*CustomEncoder) AppendComplex64 added in v1.7.16

func (enc *CustomEncoder) AppendComplex64(v complex64)

func (*CustomEncoder) AppendComplex128 added in v1.7.16

func (enc *CustomEncoder) AppendComplex128(v complex128)

func (*CustomEncoder) AppendDuration added in v1.7.16

func (enc *CustomEncoder) AppendDuration(val time.Duration)

func (*CustomEncoder) AppendFloat32 added in v1.7.16

func (enc *CustomEncoder) AppendFloat32(v float32)

func (*CustomEncoder) AppendFloat64 added in v1.7.16

func (enc *CustomEncoder) AppendFloat64(v float64)

func (*CustomEncoder) AppendInt added in v1.7.16

func (enc *CustomEncoder) AppendInt(v int)

func (*CustomEncoder) AppendInt8 added in v1.7.16

func (enc *CustomEncoder) AppendInt8(v int8)

func (*CustomEncoder) AppendInt16 added in v1.7.16

func (enc *CustomEncoder) AppendInt16(v int16)

func (*CustomEncoder) AppendInt32 added in v1.7.16

func (enc *CustomEncoder) AppendInt32(v int32)

func (*CustomEncoder) AppendInt64 added in v1.7.16

func (enc *CustomEncoder) AppendInt64(val int64)

func (*CustomEncoder) AppendObject added in v1.7.16

func (enc *CustomEncoder) AppendObject(obj zapcore.ObjectMarshaler) error

func (*CustomEncoder) AppendReflected added in v1.7.16

func (enc *CustomEncoder) AppendReflected(val interface{}) error

func (*CustomEncoder) AppendString added in v1.7.16

func (enc *CustomEncoder) AppendString(val string)

func (*CustomEncoder) AppendTime added in v1.7.16

func (enc *CustomEncoder) AppendTime(val time.Time)

func (*CustomEncoder) AppendTimeLayout added in v1.7.16

func (enc *CustomEncoder) AppendTimeLayout(time time.Time, layout string)

func (*CustomEncoder) AppendUint added in v1.7.16

func (enc *CustomEncoder) AppendUint(v uint)

func (*CustomEncoder) AppendUint8 added in v1.7.16

func (enc *CustomEncoder) AppendUint8(v uint8)

func (*CustomEncoder) AppendUint16 added in v1.7.16

func (enc *CustomEncoder) AppendUint16(v uint16)

func (*CustomEncoder) AppendUint32 added in v1.7.16

func (enc *CustomEncoder) AppendUint32(v uint32)

func (*CustomEncoder) AppendUint64 added in v1.7.16

func (enc *CustomEncoder) AppendUint64(val uint64)

func (*CustomEncoder) AppendUintptr added in v1.7.16

func (enc *CustomEncoder) AppendUintptr(v uintptr)

func (*CustomEncoder) Clone added in v1.7.16

func (enc *CustomEncoder) Clone() zapcore.Encoder

func (*CustomEncoder) EncodeEntry added in v1.7.16

func (enc *CustomEncoder) EncodeEntry(ent zapcore.Entry, fields []zapcore.Field) (*buffer.Buffer, error)

func (*CustomEncoder) OpenNamespace added in v1.7.16

func (enc *CustomEncoder) OpenNamespace(key string)

type CustomEncoderConfig added in v1.7.16

type CustomEncoderConfig struct {
	*zapcore.EncoderConfig
	TransferKey func(key string) string
}

type Logger

type Logger struct {
	*zap.Logger
}

func CallerSkipLogger

func CallerSkipLogger(skip int) *Logger

range -3~6

func DefaultLogger

func DefaultLogger() *Logger

func NewOtelLogger added in v1.8.2

func NewOtelLogger(name string, provider *otellog.LoggerProvider) *Logger

func NoCallerLogger

func NoCallerLogger() *Logger

func StackLogger

func StackLogger() *Logger

func (*Logger) AddCallerSkip added in v1.8.0

func (l *Logger) AddCallerSkip(skip int) *Logger

AddCallerSkip wrap the zap AddCallerSkip.

func (*Logger) AddCore

func (l *Logger) AddCore(newCore zapcore.Core) *Logger

AddCore wrap the zap AddCore.

func (*Logger) DPanic

func (l *Logger) DPanic(args ...any)

DPanic uses fmt.Sprint to construct and log a message. In development, the logger then panics. (See DPanicLevel for details.)

func (*Logger) DPanicf

func (l *Logger) DPanicf(template string, args ...any)

DPanicf uses fmt.Sprintf to log a templated message. In development, the logger then panics. (See DPanicLevel for details.)

func (*Logger) DPanicw

func (l *Logger) DPanicw(msg string, fields ...zap.Field)

DPanic logs a message at DPanicLevel. The message includes any fields passed at the log site, as well as any fields accumulated on the logger.

If the logger is in development mode, it then panics (DPanic means "development panic"). This is useful for catching errors that are recoverable, but shouldn't ever happen.

func (*Logger) Debug

func (l *Logger) Debug(args ...any)

Debug uses fmt.Sprint to construct and log a message.

func (*Logger) Debugf

func (l *Logger) Debugf(template string, args ...any)

Debugf uses fmt.Sprintf to log a templated message.

func (*Logger) Debugw

func (l *Logger) Debugw(msg string, fields ...zap.Field)

Debug logs a message at DebugLevel. The message includes any fields passed at the log site, as well as any fields accumulated on the logger.

func (*Logger) Enabled

func (l *Logger) Enabled(ctx context.Context, level slog.Level) bool

func (*Logger) Error

func (l *Logger) Error(args ...any)

Error uses fmt.Sprint to construct and log a message.

func (*Logger) ErrorDepth

func (l *Logger) ErrorDepth(depth int, args ...any)

ErrorDepth logs to ERROR log at the specified depth. Arguments are handled in the manner of fmt.Println.

func (*Logger) Errorf

func (l *Logger) Errorf(template string, args ...any)

Errorf uses fmt.Sprintf to log a templated message.

func (*Logger) Errorln

func (l *Logger) Errorln(args ...any)

func (*Logger) Errorw

func (l *Logger) Errorw(msg string, fields ...zap.Field)

Error logs a message at ErrorLevel. The message includes any fields passed at the log site, as well as any fields accumulated on the logger.

func (*Logger) Fatal

func (l *Logger) Fatal(args ...any)

Fatal uses fmt.Sprint to construct and log a message, then calls os.Exit.

func (*Logger) FatalDepth

func (l *Logger) FatalDepth(depth int, args ...any)

FatalDepth logs to FATAL log at the specified depth. Arguments are handled in the manner of fmt.Println.

func (*Logger) Fatalf

func (l *Logger) Fatalf(template string, args ...any)

Fatalf uses fmt.Sprintf to log a templated message, then calls os.Exit.

func (*Logger) Fatalln

func (l *Logger) Fatalln(args ...any)

func (*Logger) Fatalw

func (l *Logger) Fatalw(msg string, fields ...zap.Field)

Fatal logs a message at FatalLevel. The message includes any fields passed at the log site, as well as any fields accumulated on the logger.

The logger then calls os.Exit(1), even if logging at FatalLevel is disabled.

func (*Logger) Handle

func (l *Logger) Handle(ctx context.Context, record slog.Record) error

func (*Logger) Info

func (l *Logger) Info(args ...any)

Info uses fmt.Sprint to construct and log a message.

func (*Logger) InfoDepth

func (l *Logger) InfoDepth(depth int, args ...any)

InfoDepth logs to INFO log at the specified depth. Arguments are handled in the manner of fmt.Println.

func (*Logger) Infof

func (l *Logger) Infof(template string, args ...any)

Infof uses fmt.Sprintf to log a templated message.

func (*Logger) Infoln

func (l *Logger) Infoln(args ...any)

// 等同于xxxln,为了实现某些接口 如grpclog

func (*Logger) Infow

func (l *Logger) Infow(msg string, fields ...zap.Field)

Info logs a message at InfoLevel. The message includes any fields passed at the log site, as well as any fields accumulated on the logger.

func (*Logger) Named

func (l *Logger) Named(name string) *Logger

Named adds a sub-scope to the logger's name. See Logger.Named for details.

func (*Logger) NewSLogger

func (l *Logger) NewSLogger() *slog.Logger

func (*Logger) Panic

func (l *Logger) Panic(args ...any)

Panic uses fmt.Sprint to construct and log a message, then panics.

func (*Logger) Panicf

func (l *Logger) Panicf(template string, args ...any)

Panicf uses fmt.Sprintf to log a templated message, then panics.

func (*Logger) Panicw

func (l *Logger) Panicw(msg string, fields ...zap.Field)

Panic logs a message at PanicLevel. The message includes any fields passed at the log site, as well as any fields accumulated on the logger.

The logger then panics, even if logging at PanicLevel is disabled.

func (*Logger) Print

func (l *Logger) Print(args ...any)

兼容gormv1

func (*Logger) Printf

func (l *Logger) Printf(template string, args ...any)

func (*Logger) Println

func (l *Logger) Println(args ...any)

func (*Logger) Sugar

func (l *Logger) Sugar() *zap.SugaredLogger

Sugar wrap the zap Sugar.

func (*Logger) V

func (l *Logger) V(level int) bool

grpclog

func (*Logger) Warn

func (l *Logger) Warn(args ...any)

Warn uses fmt.Sprint to construct and log a message.

func (*Logger) Warnf

func (l *Logger) Warnf(template string, args ...any)

Warnf uses fmt.Sprintf to log a templated message.

func (*Logger) Warning

func (l *Logger) Warning(args ...any)

func (*Logger) WarningDepth

func (l *Logger) WarningDepth(depth int, args ...any)

WarningDepth logs to WARNING log at the specified depth. Arguments are handled in the manner of fmt.Println.

func (*Logger) Warningf

func (l *Logger) Warningf(template string, args ...any)

grpclog

func (*Logger) Warningln

func (l *Logger) Warningln(args ...any)

func (*Logger) Warnw

func (l *Logger) Warnw(msg string, fields ...zap.Field)

Warn logs a message at WarnLevel. The message includes any fields passed at the log site, as well as any fields accumulated on the logger.

func (*Logger) With

func (l *Logger) With(fields ...zap.Field) *Logger

With wrap the zap With. Fields added to the child don't affect the parent, and vice versa.

func (*Logger) WithAttrs

func (l *Logger) WithAttrs(attrs []slog.Attr) slog.Handler

func (*Logger) WithContext added in v1.8.2

func (l *Logger) WithContext(ctx context.Context) *Logger

func (*Logger) WithGroup

func (l *Logger) WithGroup(name string) slog.Handler

func (*Logger) WithLazy added in v1.8.0

func (l *Logger) WithLazy(fields ...zap.Field) *Logger

func (*Logger) WithOptions

func (l *Logger) WithOptions(opts ...zap.Option) *Logger

WithOptions wrap the zap WithOptions, applies the supplied GzipOptions, and returns the resulting Logger. It's safe to use concurrently.

func (*Logger) Zap

func (l *Logger) Zap() *zap.Logger

Sugar wrap the zap Sugar.

type OutPutPaths

type OutPutPaths struct {
	Console []string `json:"console,omitempty"`
	Json    []string `json:"json,omitempty"`
}

type StdErrLevel

type StdErrLevel zapcore.Level

func (StdErrLevel) Enabled

func (l StdErrLevel) Enabled(lvl zapcore.Level) bool

type StdOutLevel

type StdOutLevel zapcore.Level

func (StdOutLevel) Enabled

func (l StdOutLevel) Enabled(lvl zapcore.Level) bool

type ZipConfig

type ZipConfig = zap.Config

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL