logx

package module
v0.0.4 Latest Latest
Warning

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

Go to latest
Published: Feb 5, 2024 License: MIT Imports: 7 Imported by: 0

README

zap log encapsulation context

This is an encapsulation context for the zap log, making it more convenient to use in actual project operations.

Install

go get -u github.com/jayecc/logx

Example

  • Simple to use
// Guaranteed completion when asynchronous
defer logx.Sync() 

for i := 0; i < 10; i++ {
    logx.WarnContext(ctx, "def", zap.Int("i", i))
}
  • Console output
logx.Set(logx.SetLevel("debug"), logx.SetWriter(logx.DefaultWriterSyncer))
defer logx.Sync()

logx.Warn("def")
logx.WarnContext(ctx, "def")
  • File async output
logx.Set(logx.SetLevel("debug"), logx.SetWriter(logx.DefaultWriterSyncer, filewriter.New()))
// Guaranteed completion when asynchronous
defer logx.Sync()

logx.Warn("def")
logx.WarnContext(ctx, "def")
  • Default logger
defer logx.Sync()

a := logx.With(zap.String("name", "a"))
a.Error("a.Error")
a.ErrorContext(ctx, "a.ErrorContext")

b := logx.With(zap.String("name", "b"))
b.Error("b.Error")
b.ErrorContext(ctx, "b.ErrorContext")

c := a.WithContext(ctx)
c.Error("c.Error")
c.ErrorContext(ctx, "c.ErrorContext")

d := b.With(zap.String("name", "d"))
d.Error("d.Error")
d.ErrorContext(ctx, "d.ErrorContext")
  • Create logger
log := logx.New(logx.SetWriter(logx.DefaultWriterSyncer))
defer log.Sync()

a := log.With(zap.String("name", "a"))
a.Error("a.Error")
a.ErrorContext(ctx, "a.ErrorContext")

b := log.With(zap.String("name", "b"))
b.Error("b.Error")
b.ErrorContext(ctx, "b.ErrorContext")

c := a.WithContext(ctx)
c.Error("c.Error")
c.ErrorContext(ctx, "c.ErrorContext")

d := b.With(zap.String("name", "d"))
d.Error("d.Error")
d.ErrorContext(ctx, "d.ErrorContext")

License

MIT

Documentation

Index

Constants

View Source
const (
	JSON = "json"
	TEXT = "text"
)

Variables

View Source
var (
	DefaultWriterSyncer = zapcore.AddSync(os.Stdout)
)

Functions

func Debug

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

Debug 输出 Debug 级别的日志信息

func DebugContext

func DebugContext(ctx context.Context, msg string, fields ...zap.Field)

DebugContext 输出带有上下文信息的 Debug 级别的日志信息

func Error

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

Error 输出 Error 级别的日志信息

func ErrorContext

func ErrorContext(ctx context.Context, msg string, fields ...zap.Field)

ErrorContext 输出带有上下文信息的 Error 级别的日志信息

func Info

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

Info 输出 Info 级别的日志信息

func InfoContext

func InfoContext(ctx context.Context, msg string, fields ...zap.Field)

InfoContext 输出带有上下文信息的 Info 级别的日志信息

func Set

func Set(opts ...Option)

Set 设置默认的 Logger 实例,并应用提供的配置项

func SetLogger

func SetLogger(l *Logger)

SetLogger 设置全局的 Logger 实例

func Sync

func Sync()

Sync 同步 Logger 实例的状态

func Warn

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

Warn 输出 Warn 级别的日志信息

func WarnContext

func WarnContext(ctx context.Context, msg string, fields ...zap.Field)

WarnContext 输出带有上下文信息的 Warn 级别的日志信息

Types

type Logger

type Logger struct {
	*zap.Logger
}

Logger 结构体表示一个 Logger 实例

func Default

func Default() *Logger

Default 返回一个默认的 Logger 实例

func New

func New(opts ...Option) *Logger

New 创建并返回一个新的 Logger 实例

func With

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

With 方法返回一个带有额外字段的 Logger 实例

func (*Logger) Debug

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

Debug 输出 Debug 级别的日志信息

func (*Logger) DebugContext

func (l *Logger) DebugContext(ctx context.Context, msg string, fields ...zap.Field)

DebugContext 输出带有上下文信息的 Debug 级别的日志信息

func (*Logger) Error

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

Error 输出 Error 级别的日志信息

func (*Logger) ErrorContext

func (l *Logger) ErrorContext(ctx context.Context, msg string, fields ...zap.Field)

ErrorContext 输出带有上下文信息的 Error 级别的日志信息

func (*Logger) Info

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

Info 输出 Info 级别的日志信息

func (*Logger) InfoContext

func (l *Logger) InfoContext(ctx context.Context, msg string, fields ...zap.Field)

InfoContext 输出带有上下文信息的 Info 级别的日志信息

func (*Logger) Sync

func (l *Logger) Sync()

Sync 同步 Logger 实例的状态

func (*Logger) Warn

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

Warn 输出 Warn 级别的日志信息

func (*Logger) WarnContext

func (l *Logger) WarnContext(ctx context.Context, msg string, fields ...zap.Field)

WarnContext 输出带有上下文信息的 Warn 级别的日志信息

func (*Logger) With

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

With 方法返回一个带有额外字段的 Logger 实例

func (*Logger) WithContext

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

WithContext 方法返回一个带有上下文信息的 Logger 实例

type Option

type Option func(c *config)

Option 表示一个配置项的函数

func SetEncoderConfig

func SetEncoderConfig(cf zapcore.EncoderConfig) Option

SetEncoderConfig 设置 Logger 的编码器配置

func SetFormat

func SetFormat(f string) Option

SetFormat 设置 Logger 的格式

func SetLevel

func SetLevel(le string) Option

SetLevel 设置 Logger 的级别

func SetOptions

func SetOptions(opts ...zap.Option) Option

SetOptions 设置 Logger 的选项

func SetWriter

func SetWriter(ws ...zapcore.WriteSyncer) Option

SetWriter 设置 Logger 的写入同步器

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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