glog

package
v1.2.11 Latest Latest
Warning

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

Go to latest
Published: May 8, 2024 License: MIT Imports: 11 Imported by: 7

README

日志记录器

用法

logger := glog.NewStdLogger(os.Stdout)
// fields & valuer
logger = glog.With(logger,
"service.name", "hellworld",
"service.version", "v1.0.0",
"ts", glog.DefaultTimestamp,
"caller", glog.DefaultCaller,
)
logger.Log(glog.LevelInfo, "key", "value")

// helper
helper := glog.NewHelper(logger)
helper.Log(glog.LevelInfo, "key", "value")
helper.Info("info message")
helper.Infof("info %s", "message")
helper.Infow("key", "value")

// filter
log := glog.NewHelper(glog.NewFilter(logger,
log.FilterLevel(glog.LevelInfo),
log.FilterKey("foo"),
log.FilterValue("bar"),
log.FilterFunc(customFilter),
))
log.Debug("debug log")
log.Info("info log")
log.Warn("warn log")
log.Error("warn log")

第三方日志库

zap
go get -u github.com/go-kratos/kratos/contrib/log/zap/v2
logrus
go get -u github.com/go-kratos/kratos/contrib/log/logrus/v2
fluent
go get -u github.com/go-kratos/kratos/contrib/log/fluent/v2
aliyun
go get -u github.com/go-kratos/kratos/contrib/log/aliyun/v2

Documentation

Index

Constants

View Source
const LevelKey = "level"

LevelKey 日志级别 KEY。

Variables

View Source
var (
	// DefaultCaller 是一个返回文件和行号的 Valuer。
	DefaultCaller = Caller(4)

	// DefaultTimestamp 是一个返回当前时间的 Valuer。
	DefaultTimestamp = Timestamp(time.RFC3339)
)
View Source
var DefaultMessageKey = "msg"

DefaultMessageKey 默认消息KEY。

Functions

func Debug

func Debug(a ...any)

Debug 打印调试级别的日志。

func Debugf

func Debugf(format string, a ...any)

Debugf 按 fmt.Sprintf 格式打印调试级别的日志。

func Debugw

func Debugw(keyvals ...any)

Debugw 按键值对打印调试级别的日志。

func Error

func Error(a ...any)

Error 打印错误级别的日志。

func Errorf

func Errorf(format string, a ...any)

Errorf 按 fmt.Sprintf 格式打印错误级别的日志。

func Errorw

func Errorw(keyvals ...any)

Errorw 按键值对打印错误级别的日志。

func Fatal

func Fatal(a ...any)

Fatal 打印致命级别的日志。

func Fatalf

func Fatalf(format string, a ...any)

Fatalf 按 fmt.Sprintf 格式打印致命级别的日志。

func Fatalw

func Fatalw(keyvals ...any)

Fatalw 按键值对打印致命级别的日志。

func Info

func Info(a ...any)

Info 打印信息级别的日志。

func Infof

func Infof(format string, a ...any)

Infof 按 fmt.Sprintf 格式打印信息级别的日志。

func Infow

func Infow(keyvals ...any)

Infow 按键值对打印信息级别的日志。

func Log

func Log(level Level, keyvals ...any)

Log 按级别和键值打印日志。

func NewWriter added in v1.2.5

func NewWriter(logger Logger, opts ...WriterOptionFn) io.Writer

NewWriter 新建 Writer。

func SetLogger

func SetLogger(logger Logger)

SetLogger 应该在任何其他日志调用之前调用。 而且它不是线程安全的。

func Value

func Value(ctx context.Context, v any) any

Value 返回函数值。

func Warn

func Warn(a ...any)

Warn 打印警告级别的日志。

func Warnf

func Warnf(format string, a ...any)

Warnf 按 fmt.Sprintf 格式打印警告级别的日志。

func Warnw

func Warnw(keyvals ...any)

Warnw 按键值对打印警告级别的日志。

Types

type Filter

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

Filter 是一个日志过滤器。

func NewFilter

func NewFilter(logger Logger, opts ...FilterOption) *Filter

NewFilter 新建一个日志过滤器。

func (*Filter) Log

func (f *Filter) Log(level Level, keyvals ...any) error

Log 按级别和键值打印日志。

type FilterOption

type FilterOption func(*Filter)

FilterOption 过滤器选项。

func FilterFunc

func FilterFunc(f func(level Level, keyvals ...any) bool) FilterOption

FilterFunc 配置过滤器方法。

func FilterKey

func FilterKey(key ...string) FilterOption

FilterKey 配置过滤器键。

func FilterLevel

func FilterLevel(level Level) FilterOption

FilterLevel 配置过滤器级别。

func FilterValue

func FilterValue(value ...string) FilterOption

FilterValue 配置过滤器值。

type Helper

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

Helper 是一个日志助手。

func Context added in v1.2.5

func Context(ctx context.Context) *Helper

Context 配置上下文 logger。

func NewHelper

func NewHelper(logger Logger, opts ...Option) *Helper

NewHelper 新建一个日志助手。

func (*Helper) Debug

func (h *Helper) Debug(a ...any)

Debug 打印调试级别的日志。

func (*Helper) Debugf

func (h *Helper) Debugf(format string, a ...any)

Debugf 按 fmt.Sprintf 格式打印调试级别的日志。

func (*Helper) Debugw

func (h *Helper) Debugw(keyvals ...any)

Debugw 按键值对打印调试级别的日志。

func (*Helper) Error

func (h *Helper) Error(a ...any)

Error 打印错误级别的日志。

func (*Helper) Errorf

func (h *Helper) Errorf(format string, a ...any)

Errorf 按 fmt.Sprintf 格式打印错误级别的日志。

func (*Helper) Errorw

func (h *Helper) Errorw(keyvals ...any)

Errorw 按键值对打印错误级别的日志。

func (*Helper) Fatal

func (h *Helper) Fatal(a ...any)

Fatal 打印致命级别的日志。

func (*Helper) Fatalf

func (h *Helper) Fatalf(format string, a ...any)

Fatalf 按 fmt.Sprintf 格式打印致命级别的日志。

func (*Helper) Fatalw

func (h *Helper) Fatalw(keyvals ...any)

Fatalw 按键值对打印致命级别的日志。

func (*Helper) Info

func (h *Helper) Info(a ...any)

Info 打印信息级别的日志。

func (*Helper) Infof

func (h *Helper) Infof(format string, a ...any)

Infof 按 fmt.Sprintf 格式打印信息级别的日志。

func (*Helper) Infow

func (h *Helper) Infow(keyvals ...any)

Infow 按键值对打印信息级别的日志。

func (*Helper) Log

func (h *Helper) Log(level Level, keyvals ...any)

Log 按级别和键值打印日志。

func (*Helper) Warn

func (h *Helper) Warn(a ...any)

Warn 打印警告级别的日志。

func (*Helper) Warnf

func (h *Helper) Warnf(format string, a ...any)

Warnf 按 fmt.Sprintf 格式打印警告级别的日志。

func (*Helper) Warnw

func (h *Helper) Warnw(keyvals ...any)

Warnw 按键值对打印警告级别的日志。

func (*Helper) WithContext

func (h *Helper) WithContext(ctx context.Context) *Helper

WithContext 返回被 h 的浅副本改变的上下文 ctx, 提供的 ctx 不能为空。

type Level

type Level int8

Level 日志级别。

const (
	LevelDebug Level = iota - 1 // LevelDebug 是日志调试级别。
	LevelInfo                   // LevelInfo 是日志信息级别。
	LevelWarn                   // LevelWarn 是日志警告级别。
	LevelError                  // LevelError 是日志错误级别。
	LevelFatal                  // LevelFatal 是日志致命级别。
)

func ParseLevel

func ParseLevel(s string) Level

ParseLevel 将级别字符串解析为日志级别值。

func (Level) Key added in v1.2.5

func (l Level) Key() string

func (Level) String

func (l Level) String() string

type Logger

type Logger interface {
	Log(level Level, keyvals ...any) error
}

Logger 是一个日志接口。

var DefaultLogger Logger = NewStdLogger(log.Writer())

DefaultLogger 默认日志记录器。

func GetLogger

func GetLogger() Logger

GetLogger 将全局日志记录器器设备作为当前进程中的记录器返回。

func NewStdLogger

func NewStdLogger(w io.Writer) Logger

NewStdLogger 新建一个日志记录器。

func With

func With(l Logger, kv ...any) Logger

With 配置日志字段。

func WithContext

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

WithContext 返回被 l 的浅副本改变的上下文 ctx, 提供的 ctx 不能为空。

type Option

type Option func(*Helper)

Option 日志助手选项。

func WithMessageKey

func WithMessageKey(k string) Option

WithMessageKey 配置消息KEY。

type Valuer

type Valuer func(ctx context.Context) any

Valuer 是返回一个日志值。

func Caller

func Caller(depth int) Valuer

Caller 返回一个调用者的 pkg/file:line 描述的 Valuer。

func Timestamp

func Timestamp(layout string) Valuer

Timestamp 返回一个自定义时间格式的 Valuer

type WriterOptionFn added in v1.2.5

type WriterOptionFn func(w *writerWrapper)

func WithWriteMessageKey added in v1.2.5

func WithWriteMessageKey(key string) WriterOptionFn

WithWriteMessageKey 配置 Writer 包装器助手消息 KEY。

func WithWriterLevel added in v1.2.5

func WithWriterLevel(level Level) WriterOptionFn

WithWriterLevel 配置 Writer 包装器等级。

Jump to

Keyboard shortcuts

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