elog

package
v1.1.19 Latest Latest
Warning

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

Go to latest
Published: Jan 11, 2024 License: MIT Imports: 16 Imported by: 169

Documentation

Index

Constants

View Source
const (
	// DebugLevel logs are typically voluminous, and are usually disabled in
	// production.
	DebugLevel = zap.DebugLevel
	// InfoLevel is the default logging priority.
	InfoLevel = zap.InfoLevel
	// WarnLevel logs are more important than Info, but don't need individual
	// human review.
	WarnLevel = zap.WarnLevel
	// ErrorLevel logs are high-priority. If an application is running smoothly,
	// it shouldn't generate any error-Level logs.
	ErrorLevel = zap.ErrorLevel
	// PanicLevel logs a message, then panics.
	PanicLevel = zap.PanicLevel
	// FatalLevel logs a message, then calls os.Exit(1).
	FatalLevel = zap.FatalLevel
)
View Source
const (
	// DefaultLoggerName 业务日志名
	DefaultLoggerName = "default.log"
	// EgoLoggerName 系统文件名
	EgoLoggerName = "ego.sys"
)
View Source
const PackageName = "core.elog"

PackageName 包名

Variables

View Source
var (
	// String alias for zap.String
	String = zap.String
	// Any alias for zap.Any
	Any = zap.Any
	// Int64 alias for zap.Int64
	Int64 = zap.Int64
	// Int alias for zap.Int
	Int = zap.Int
	// Int32 alias for zap.Int32
	Int32 = zap.Int32
	// Uint alias for zap.Uint
	Uint = zap.Uint
	// Duration alias for zap.Duration
	Duration = zap.Duration
	// Durationp alias for zap.Duration
	Durationp = zap.Durationp
	// Object alias for zap.Object
	Object = zap.Object
	// Namespace alias for zap.Namespace
	Namespace = zap.Namespace
	// Reflect alias for zap.Reflect
	Reflect = zap.Reflect
	// Skip alias for zap.Skip()
	Skip = zap.Skip()
	// ByteString alias for zap.ByteString
	ByteString = zap.ByteString
)

Functions

func DPanic

func DPanic(msg string, fields ...Field)

DPanic ...

func DPanicf

func DPanicf(msg string, args ...interface{})

DPanicf ... Deprecated: Will be removed in future versions, use DPanic instead.

func DPanicw

func DPanicw(msg string, keysAndValues ...interface{})

DPanicw ... Deprecated: Will be removed in future versions, use DPanic instead.

func Debug

func Debug(msg string, fields ...Field)

Debug ...

func Debugf

func Debugf(msg string, args ...interface{})

Debugf ... Deprecated: Will be removed in future versions, use Debug instead.

func Debugw

func Debugw(msg string, keysAndValues ...interface{})

Debugw ... Deprecated: Will be removed in future versions, use Debug instead.

func Error

func Error(msg string, fields ...Field)

Error ...

func Errorf

func Errorf(msg string, args ...interface{})

Errorf ... Deprecated: Will be removed in future versions, use Error instead.

func Errorw

func Errorw(msg string, keysAndValues ...interface{})

Errorw ... Deprecated: Will be removed in future versions, use Error instead.

func Fatal

func Fatal(msg string, fields ...Field)

Fatal ...

func Fatalf

func Fatalf(msg string, args ...interface{})

Fatalf ... Deprecated: Will be removed in future versions, use Fatal instead.

func Fatalw

func Fatalw(msg string, keysAndValues ...interface{})

Fatalw ... Deprecated: Will be removed in future versions, use Fatal instead.

func Info

func Info(msg string, fields ...Field)

Info ...

func Infof

func Infof(msg string, args ...interface{})

Infof ... Deprecated: Will be removed in future versions, use Info instead.

func Infow

func Infow(msg string, keysAndValues ...interface{})

Infow ... Deprecated: Will be removed in future versions, use Info instead.

func Panic

func Panic(msg string, fields ...Field)

Panic ...

func Panicf

func Panicf(msg string, args ...interface{})

Panicf ... Deprecated: Will be removed in future versions, use Panic instead.

func Panicw

func Panicw(msg string, keysAndValues ...interface{})

Panicw ... Deprecated: Will be removed in future versions, use Panic instead.

func Register added in v0.6.0

func Register(builder WriterBuilder)

Register registers a dataSource creator function to the registry

func Warn

func Warn(msg string, fields ...Field)

Warn ...

func Warnf

func Warnf(msg string, args ...interface{})

Warnf ... Deprecated: Will be removed in future versions, use Warn instead.

func Warnw

func Warnw(msg string, keysAndValues ...interface{})

Warnw ... Deprecated: Will be removed in future versions, use Warn instead.

Types

type CloseFunc

type CloseFunc func() error

CloseFunc should be called when the caller exits to clean up buffers.

func (CloseFunc) Close added in v0.6.0

func (c CloseFunc) Close() error

Close 关闭

type Component

type Component struct {
	// contains filtered or unexported fields
}

Component defines ego logger component wraps zap.Logger and zap.SugaredLogger

var DefaultLogger *Component

DefaultLogger defines default logger, it's usually used in application business logic

var EgoLogger *Component

EgoLogger defines ego framework logger, it's for ego framework only

func With

func With(fields ...Field) *Component

With ...

func (*Component) AutoLevel

func (logger *Component) AutoLevel(confKey string)

AutoLevel ...

func (*Component) ConfigDir added in v0.6.0

func (logger *Component) ConfigDir() string

ConfigDir returns log directory path if a fileWriter logger is set.

func (*Component) ConfigName added in v0.6.0

func (logger *Component) ConfigName() string

ConfigName returns logger name.

func (*Component) DPanic

func (logger *Component) DPanic(msg string, fields ...Field)

DPanic ...

func (*Component) DPanicf

func (logger *Component) DPanicf(template string, args ...interface{})

DPanicf ... Deprecated: Will be removed in future versions, use *Component.DPanic instead.

func (*Component) DPanicw

func (logger *Component) DPanicw(msg string, keysAndValues ...interface{})

DPanicw ... Deprecated: Will be removed in future versions, use *Component.DPanic instead.

func (*Component) Debug

func (logger *Component) Debug(msg string, fields ...Field)

Debug ...

func (*Component) Debugf

func (logger *Component) Debugf(template string, args ...interface{})

Debugf ... Deprecated: Will be removed in future versions, use *Component.Debug instead.

func (*Component) Debugw

func (logger *Component) Debugw(msg string, keysAndValues ...interface{})

Debugw ... Deprecated: Will be removed in future versions, use *Component.Debug instead.

func (*Component) Error

func (logger *Component) Error(msg string, fields ...Field)

Error ...

func (*Component) Errorf

func (logger *Component) Errorf(template string, args ...interface{})

Errorf ... Deprecated: Will be removed in future versions, use *Component.Error instead.

func (*Component) Errorw

func (logger *Component) Errorw(msg string, keysAndValues ...interface{})

Errorw ... Deprecated: Will be removed in future versions, use *Component.Error instead.

func (*Component) Fatal

func (logger *Component) Fatal(msg string, fields ...Field)

Fatal ...

func (*Component) Fatalf

func (logger *Component) Fatalf(template string, args ...interface{})

Fatalf ... Deprecated: Will be removed in future versions, use *Component.Fatal instead.

func (*Component) Fatalw

func (logger *Component) Fatalw(msg string, keysAndValues ...interface{})

Fatalw ... Deprecated: Will be removed in future versions, use *Component.Fatal instead.

func (*Component) Flush

func (logger *Component) Flush() error

Flush ... When use os.Stdout or os.Stderr as zapcore.WriteSyncer logger.desugar.Sync() maybe return an error like this: 'sync /dev/stdout: The handle is invalid.' Because os.Stdout and os.Stderr is a non-normal file, maybe not support 'fsync' in different os platform So ignored Sync() return value About issues: https://github.com/uber-go/zap/issues/328 About 'fsync': https://man7.org/linux/man-pages/man2/fsync.2.html

func (*Component) Info

func (logger *Component) Info(msg string, fields ...Field)

Info ...

func (*Component) Infof

func (logger *Component) Infof(template string, args ...interface{})

Infof ... Deprecated: Will be removed in future versions, use *Component.Info instead.

func (*Component) Infow

func (logger *Component) Infow(msg string, keysAndValues ...interface{})

Infow ... Deprecated: Will be removed in future versions, use *Component.Info instead.

func (*Component) IsDebugMode

func (logger *Component) IsDebugMode() bool

IsDebugMode ...

func (*Component) Panic

func (logger *Component) Panic(msg string, fields ...Field)

Panic ...

func (*Component) Panicf

func (logger *Component) Panicf(template string, args ...interface{})

Panicf ... Deprecated: Will be removed in future versions, use *Component.Panic instead.

func (*Component) Panicw

func (logger *Component) Panicw(msg string, keysAndValues ...interface{})

Panicw ... Deprecated: Will be removed in future versions, use *Component.Panic instead.

func (*Component) SetLevel

func (logger *Component) SetLevel(lv Level)

SetLevel ...

func (*Component) Warn

func (logger *Component) Warn(msg string, fields ...Field)

Warn ...

func (*Component) Warnf

func (logger *Component) Warnf(template string, args ...interface{})

Warnf ... Deprecated: Will be removed in future versions, use *Component.Warn instead.

func (*Component) Warnw

func (logger *Component) Warnw(msg string, keysAndValues ...interface{})

Warnw ... Deprecated: Will be removed in future versions, use *Component.Warn instead.

func (*Component) With

func (logger *Component) With(fields ...Field) *Component

With creates a child logger

func (*Component) WithCallerSkip added in v0.5.5

func (logger *Component) WithCallerSkip(callerSkip int, fields ...Field) *Component

WithCallerSkip ...

func (*Component) ZapLogger added in v0.7.0

func (logger *Component) ZapLogger() *zap.Logger

ZapLogger returns *zap.Logger

func (*Component) ZapSugaredLogger added in v0.7.0

func (logger *Component) ZapSugaredLogger() *zap.SugaredLogger

ZapSugaredLogger returns *zap.SugaredLogger

type Config

type Config struct {
	Debug           bool   // 是否双写至文件控制日志输出到终端
	Level           string // 日志初始等级,默认info级别
	Dir             string // [fileWriter]日志输出目录,默认logs
	Name            string // [fileWriter]日志文件名称,默认框架日志ego.sys,业务日志default.log
	EnableAddCaller bool   // 是否添加调用者信息,默认不加调用者信息
	EnableAsync     bool   // 是否异步,默认异步
	Writer          string // 使用哪种Writer,可选[file|stderr],默认file

	CallerSkip int
	// contains filtered or unexported fields
}

Config ...

func (*Config) AtomicLevel added in v0.6.0

func (c *Config) AtomicLevel() zap.AtomicLevel

AtomicLevel 获取AtomicLevel配置

func (*Config) EncoderConfig

func (c *Config) EncoderConfig() *zapcore.EncoderConfig

EncoderConfig 获取zap encoder配置

func (*Config) Filename

func (c *Config) Filename() string

Filename ...

type Container

type Container struct {
	// contains filtered or unexported fields
}

Container defines a component instance.

func DefaultContainer

func DefaultContainer() *Container

DefaultContainer returns an default container.

func Load

func Load(key string) *Container

Load parses container configuration from configuration provider, such as a toml file, then use the configuration to construct a component container.

func (*Container) Build

func (c *Container) Build(options ...Option) *Component

Build constructs a specific component from container.

type Field

type Field = zap.Field

Field ...

func FieldAddr

func FieldAddr(value string) Field

FieldAddr constructs an elog Field with some address

func FieldApp added in v0.3.4

func FieldApp(value string) Field

FieldApp constructs an elog Field with ego application name

func FieldCode

func FieldCode(value int32) Field

FieldCode ...

func FieldComponent

func FieldComponent(value string) Field

FieldComponent constructs an elog Field with component type name

func FieldComponentName

func FieldComponentName(value string) Field

FieldComponentName constructs an elog Field with component name

func FieldCost

func FieldCost(value time.Duration) Field

FieldCost construct an elog Field with time cost

func FieldCtxTid added in v0.5.5

func FieldCtxTid(ctx context.Context) Field

FieldCtxTid constructs an elog Field with traceID which extracted from context

func FieldCustomKeyValue added in v0.5.7

func FieldCustomKeyValue(key string, value string) Field

FieldCustomKeyValue constructs a custom Key and value

func FieldDescription added in v0.3.4

func FieldDescription(value string) Field

FieldDescription ...

func FieldErr

func FieldErr(err error) Field

FieldErr ...

func FieldErrAny added in v0.3.11

func FieldErrAny(err interface{}) Field

FieldErrAny ...

func FieldErrKind

func FieldErrKind(value string) Field

FieldErrKind ...

func FieldEvent

func FieldEvent(value string) Field

FieldEvent ...

func FieldExtMessage

func FieldExtMessage(vals ...interface{}) Field

FieldExtMessage ...

func FieldIP added in v0.4.0

func FieldIP(value string) Field

FieldIP ...

func FieldKey

func FieldKey(value string) Field

FieldKey ...

func FieldKind added in v0.3.4

func FieldKind(value string) Field

FieldKind ... level 2

func FieldLogName added in v0.8.2

func FieldLogName(value string) Field

FieldLogName constructs a field log name

func FieldMethod

func FieldMethod(value string) Field

FieldMethod ...

func FieldName

func FieldName(value string) Field

FieldName ...

func FieldPeerIP added in v0.3.4

func FieldPeerIP(value string) Field

FieldPeerIP ...

func FieldPeerName added in v0.3.4

func FieldPeerName(value string) Field

FieldPeerName ...

func FieldSize added in v0.3.4

func FieldSize(value int32) Field

FieldSize ...

func FieldStack

func FieldStack(value []byte) Field

FieldStack ...

func FieldTid added in v0.3.6

func FieldTid(value string) Field

FieldTid constructs an elog Field with traceID

func FieldType

func FieldType(value string) Field

FieldType ... level 1

func FieldUniformCode added in v0.6.12

func FieldUniformCode(value int32) Field

FieldUniformCode uniform code

func FieldValue

func FieldValue(value string) Field

FieldValue ...

func FieldValueAny

func FieldValueAny(value interface{}) Field

FieldValueAny ...

type Level

type Level = zapcore.Level

Level ...

type Option

type Option func(c *Container)

Option overrides a Container's default configuration.

func WithCallSkip added in v1.1.12

func WithCallSkip(callerSkip int) Option

WithCallSkip 支持自定义调用层级

func WithDebug added in v0.3.9

func WithDebug(debug bool) Option

WithDebug 设置在命令行显示

func WithDefaultFileName added in v1.1.12

func WithDefaultFileName(name string) Option

WithDefaultFileName 设置默认的文件名,只有在配置的文件名不存在或者为兜底默认值的时候才会生效

func WithEnableAddCaller added in v0.3.11

func WithEnableAddCaller(enableAddCaller bool) Option

WithEnableAddCaller 是否添加行号,默认不添加行号

func WithEnableAsync added in v0.3.9

func WithEnableAsync(enableAsync bool) Option

WithEnableAsync 是否异步执行,默认异步

func WithEncoderConfig added in v1.1.3

func WithEncoderConfig(encoderConfig *zapcore.EncoderConfig) Option

WithEncoderConfig 加入encode config

func WithFileName

func WithFileName(name string) Option

WithFileName 设置文件名

func WithLevel added in v0.3.9

func WithLevel(level string) Option

WithLevel 设置级别

func WithZapCore added in v0.6.0

func WithZapCore(core zapcore.Core) Option

WithZapCore 添加ZapCore

type Writer added in v0.6.0

type Writer interface {
	zapcore.Core
	io.Closer
}

Writer 日志interface

type WriterBuilder added in v0.6.0

type WriterBuilder interface {
	Build(key string, commonConfig *Config) Writer
	Scheme() string
}

WriterBuilder 根据key初始化writer

func Provider added in v0.6.0

func Provider(scheme string) WriterBuilder

Provider 根据配置地址,创建数据源

Jump to

Keyboard shortcuts

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