Documentation
¶
Index ¶
- Constants
- Variables
- func Debug(msg string, fields ...zap.Field)
- func DefaultTimeEncoder(t time.Time, enc zapcore.PrimitiveArrayEncoder)
- func Error(msg string, fields ...zap.Field)
- func Fatal(msg string, fields ...zap.Field)
- func FieldComponent(component string) zap.Field
- func FieldMessage(msg zapcore.ObjectMarshaler) zap.Field
- func FieldModule(module string) zap.Field
- func GetLevel() zapcore.Level
- func Info(msg string, fields ...zap.Field)
- func L() *zap.Logger
- func Level() zap.AtomicLevel
- func NewIntentContext(name string, intent string) (context.Context, trace.Span)
- func NewLazyWith(core zapcore.Core, fields []zapcore.Field) zapcore.Core
- func NewTextCore(enc zapcore.Encoder, ws zapcore.WriteSyncer, enab zapcore.LevelEnabler) zapcore.Core
- func NewTextEncoder(encoderConfig *zapcore.EncoderConfig, spaced bool, disableErrorVerbose bool) zapcore.Encoder
- func NewTextEncoderByConfig(cfg *Config) zapcore.Encoder
- func Panic(msg string, fields ...zap.Field)
- func R() *utils.ReconfigurableRateLimiter
- func RatedDebug(cost float64, msg string, fields ...zap.Field) bool
- func RatedInfo(cost float64, msg string, fields ...zap.Field) bool
- func RatedWarn(cost float64, msg string, fields ...zap.Field) bool
- func ReplaceGlobals(logger *zap.Logger, props *ZapProperties)
- func S() *zap.SugaredLogger
- func SetLevel(l zapcore.Level)
- func ShortCallerEncoder(caller zapcore.EntryCaller, enc zapcore.PrimitiveArrayEncoder)
- func Sync() error
- func Warn(msg string, fields ...zap.Field)
- func WithDebugLevel(ctx context.Context) context.Context
- func WithErrorLevel(ctx context.Context) context.Context
- func WithFatalLevel(ctx context.Context) context.Context
- func WithFields(ctx context.Context, fields ...zap.Field) context.Context
- func WithInfoLevel(ctx context.Context) context.Context
- func WithModule(ctx context.Context, module string) context.Context
- func WithReqID(ctx context.Context, reqID int64) context.Context
- func WithTraceID(ctx context.Context, traceID string) context.Context
- func WithWarnLevel(ctx context.Context) context.Context
- type Binder
- type Config
- type FileLogConfig
- type LoggerBinder
- type MLogger
- func (l *MLogger) RatedDebug(cost float64, msg string, fields ...zap.Field) bool
- func (l *MLogger) RatedInfo(cost float64, msg string, fields ...zap.Field) bool
- func (l *MLogger) RatedWarn(cost float64, msg string, fields ...zap.Field) bool
- func (l *MLogger) With(fields ...zap.Field) *MLogger
- func (l *MLogger) WithRateGroup(groupName string, creditPerSecond, maxBalance float64) *MLogger
- type WithLogger
- type ZapProperties
- func InitLogger(cfg *Config, opts ...zap.Option) (*zap.Logger, *ZapProperties, error)
- func InitLoggerWithWriteSyncer(cfg *Config, output zapcore.WriteSyncer, opts ...zap.Option) (*zap.Logger, *ZapProperties, error)
- func InitTestLogger(t zaptest.TestingT, cfg *Config, opts ...zap.Option) (*zap.Logger, *ZapProperties, error)
Constants ¶
const ( FieldNameModule = "module" FieldNameComponent = "component" )
Variables ¶
var CtxLogKey = ctxLogKeyType{}
var (
// Get retrieves a buffer from the pool, creating one if necessary.
Get = _pool.Get
)
Functions ¶
func Debug ¶
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. Deprecated: Use Ctx(ctx).Debug instead.
func DefaultTimeEncoder ¶
func DefaultTimeEncoder(t time.Time, enc zapcore.PrimitiveArrayEncoder)
DefaultTimeEncoder serializes time.Time to a human-readable formatted string
func Error ¶
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. Deprecated: Use Ctx(ctx).Error instead.
func Fatal ¶
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. Deprecated: Use Ctx(ctx).Fatal instead.
func FieldComponent ¶
FieldComponent returns a zap field with the component name.
func FieldMessage ¶ added in v2.6.0
func FieldMessage(msg zapcore.ObjectMarshaler) zap.Field
FieldMessage returns a zap field with the message object.
func FieldModule ¶
FieldModule returns a zap field with the module name.
func Info ¶
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. Deprecated: Use Ctx(ctx).Info instead.
func L ¶
L returns the global Logger, which can be reconfigured with ReplaceGlobals. It's safe for concurrent use.
func Level ¶
func Level() zap.AtomicLevel
func NewIntentContext ¶
NewIntentContext creates a new context with intent information and returns it along with a span.
func NewTextCore ¶
func NewTextCore(enc zapcore.Encoder, ws zapcore.WriteSyncer, enab zapcore.LevelEnabler) zapcore.Core
NewTextCore creates a Core that writes logs to a WriteSyncer.
func NewTextEncoder ¶
func NewTextEncoderByConfig ¶
NewTextEncoderByConfig creates a fast, low-allocation Text encoder with config. The encoder appropriately escapes all field keys and values.
func Panic ¶
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. Deprecated: Use Ctx(ctx).Panic instead.
func RatedDebug ¶
RatedDebug print logs at debug level it limit log print to avoid too many logs return true if log successfully Deprecated: Use Ctx(ctx).RatedDebug instead.
func RatedInfo ¶
RatedInfo print logs at info level it limit log print to avoid too many logs return true if log successfully Deprecated: Use Ctx(ctx).RatedInfo instead.
func RatedWarn ¶
RatedWarn print logs at warn level it limit log print to avoid too many logs return true if log successfully Deprecated: Use Ctx(ctx).RatedWarn instead.
func ReplaceGlobals ¶
func ReplaceGlobals(logger *zap.Logger, props *ZapProperties)
ReplaceGlobals replaces the global Logger and SugaredLogger. It's safe for concurrent use.
func S ¶
func S() *zap.SugaredLogger
S returns the global SugaredLogger, which can be reconfigured with ReplaceGlobals. It's safe for concurrent use.
func ShortCallerEncoder ¶
func ShortCallerEncoder(caller zapcore.EntryCaller, enc zapcore.PrimitiveArrayEncoder)
ShortCallerEncoder serializes a caller in file:line format.
func Warn ¶
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. Deprecated: Use Ctx(ctx).Warn instead.
func WithDebugLevel ¶
WithDebugLevel returns context with a debug level enabled logger. Notes that it will overwrite previous attached logger within context
func WithErrorLevel ¶
WithErrorLevel returns context with a error level enabled logger. Notes that it will overwrite previous attached logger within context
func WithFatalLevel ¶
WithFatalLevel returns context with a fatal level enabled logger. Notes that it will overwrite previous attached logger within context
func WithFields ¶
WithFields returns a context with fields attached
func WithInfoLevel ¶
WithInfoLevel returns context with a info level enabled logger. Notes that it will overwrite previous attached logger within context
func WithModule ¶
WithModule adds given module field to the logger in ctx
func WithTraceID ¶
WithTraceID returns a context with trace_id attached
Types ¶
type Binder ¶
type Binder struct {
// contains filtered or unexported fields
}
Binder is a embedding type to help access local logger.
type Config ¶
type Config struct { // Log level. Level string `toml:"level" json:"level"` // grpc log level GrpcLevel string `toml:"grpc-level" json:"grpc-level"` // Log format. one of json, text, or console. Format string `toml:"format" json:"format"` // Disable automatic timestamps in output. DisableTimestamp bool `toml:"disable-timestamp" json:"disable-timestamp"` // Stdout enable or not. Stdout bool `toml:"stdout" json:"stdout"` // File log config. File FileLogConfig `toml:"file" json:"file"` // Development puts the logger in development mode, which changes the // behavior of DPanicLevel and takes stacktraces more liberally. Development bool `toml:"development" json:"development"` // DisableCaller stops annotating logs with the calling function's file // name and line number. By default, all logs are annotated. DisableCaller bool `toml:"disable-caller" json:"disable-caller"` // DisableStacktrace completely disables automatic stacktrace capturing. By // default, stacktraces are captured for WarnLevel and above logs in // development and ErrorLevel and above in production. DisableStacktrace bool `toml:"disable-stacktrace" json:"disable-stacktrace"` // DisableErrorVerbose stops annotating logs with the full verbose error // message. DisableErrorVerbose bool `toml:"disable-error-verbose" json:"disable-error-verbose"` // SamplingConfig sets a sampling strategy for the logger. Sampling caps the // global CPU and I/O load that logging puts on your process while attempting // to preserve a representative subset of your logs. // // Values configured here are per-second. See zapcore.NewSampler for details. Sampling *zap.SamplingConfig `toml:"sampling" json:"sampling"` }
Config serializes log related config in toml/json.
type FileLogConfig ¶
type FileLogConfig struct { // Log rootpath RootPath string `toml:"rootpath" json:"rootpath"` // Log filename, leave empty to disable file log. Filename string `toml:"filename" json:"filename"` // Max size for a single file, in MB. MaxSize int `toml:"max-size" json:"max-size"` // Max log keep days, default is never deleting. MaxDays int `toml:"max-days" json:"max-days"` // Maximum number of old log files to retain. MaxBackups int `toml:"max-backups" json:"max-backups"` }
FileLogConfig serializes file log related config in toml/json.
type LoggerBinder ¶
type LoggerBinder interface {
SetLogger(logger *MLogger)
}
LoggerBinder is an interface to help set logger.
type MLogger ¶
MLogger is a wrapper type of zap.Logger.
func With ¶
With creates a child logger and adds structured context to it. Fields added to the child don't affect the parent, and vice versa. Deprecated: Use Ctx(ctx).With instead.
func (*MLogger) RatedDebug ¶
RatedDebug calls log.Debug with RateLimiter.
type WithLogger ¶
type WithLogger interface {
Logger() *MLogger
}
WithLogger is an interface to help access local logger.
type ZapProperties ¶
type ZapProperties struct { Core zapcore.Core Syncer zapcore.WriteSyncer Level zap.AtomicLevel }
ZapProperties records some information about zap.
func InitLogger ¶
InitLogger initializes a zap logger.
func InitLoggerWithWriteSyncer ¶
func InitLoggerWithWriteSyncer(cfg *Config, output zapcore.WriteSyncer, opts ...zap.Option) (*zap.Logger, *ZapProperties, error)
InitLoggerWithWriteSyncer initializes a zap logger with specified write syncer.