package
0.0.0-20240528160250-7f1e80ad4de7
Repository: https://github.com/sql668/go-toolkit.git
Documentation: pkg.go.dev
# README
Logger
Usage
Structured logging
logger := logger.NewStdLogger(os.Stdout)
// fields & valuer
logger = log.With(logger,
"service.name", "hellworld",
"service.version", "v1.0.0",
"ts", log.DefaultTimestamp,
"caller", log.DefaultCaller,
)
logger.Log(log.LevelInfo, "key", "value")
// helper
helper := log.NewHelper(logger)
helper.Log(log.LevelInfo, "key", "value")
helper.Info("info message")
helper.Infof("info %s", "message")
helper.Infow("key", "value")
// filter
log := log.NewHelper(log.NewFilter(logger,
log.FilterLevel(log.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")
Third party log library
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
# Functions
Caller returns a Valuer that returns a pkg/file:line description of the caller.
Context with context logger.
Debug logs a message at debug level.
Debugf logs a message at debug level.
Debugw logs a message at debug level.
Error logs a message at error level.
Errorf logs a message at error level.
Errorw logs a message at error level.
Fatal logs a message at fatal level.
Fatalf logs a message at fatal level.
Fatalw logs a message at fatal level.
FilterFunc 使用自定义的函数来对日志进行处理,keyvals里为key和对应的value,按照奇偶进行读取即可.
FilterKey 按照key过滤,这些key的值会被***遮蔽.
FilterLevel 按照日志等级过滤,低于该等级的日志将不会被输出.
FilterValue 按照value过滤,匹配的值会被***遮蔽.
GetLogger returns global logger appliance as logger in current process.
Info logs a message at info level.
Infof logs a message at info level.
Infow logs a message at info level.
Log Print log by level and keyvals.
NewFilter new a logger filter.
NewHelper new a logger helper.
NewStdLogger new a logger with writer.
NewWriter return a writer wrapper.
ParseLevel 从字符串level中得到 logger level.
SetLogger should be called before any other log call.
Timestamp returns a timestamp Valuer with a custom time format.
Trace logs a message at trace level.
Tracef logs a message at trace level.
Tracew logs a message at trace level.
Value return the function value.
Warn logs a message at warn level.
Warnf logs a message at warnf level.
Warnw logs a message at warnf level.
With logger.With方法会返回一个新的Logger,把参数的Valuer绑上去。 logger = logger.With(logger, "ts", logger.DefaultTimestamp, "caller", logger.DefaultCaller).
WithContext returns a shallow copy of l with its context changed to ctx.
WithMessageKey with message key.
WithSprint 自定义输出函数.
WithSprintf 自定义格式化输出函数.
WithWriteMessageKey set writerWrapper helper message key.
WithWriterLevel set writerWrapper level.
# Constants
DebugLevel 主要用于开发过程中打印运行信息.
ErrorLevel 打印错误和异常信息.
FatalLevel 重大错误,出现这种级别的事件会导致程序不能继续运行.
InfoLevel 用于输出程序运行的重要信息或感兴趣的信息,为默认级别.
LevelKey is logger level key.
TraceLevel 日志级别很低,很少使用.
WarnLevel 表明会出现潜在错误的情形.
# Variables
DefaultCaller 打印出调用日志方法文件名和行号,例如 caller=logger/log_test.go:11.
No description provided by the author
DefaultMessageKey default message key.
DefaultTimestamp 打印时间戳.
# Interfaces
No description provided by the author
# Type aliases
*
h := NewHelper(
NewFilter(logger,
// 等级过滤
FilterLevel(log.LevelError),
// 按key遮蔽
FilterKey("username"),
// 按value遮蔽
FilterValue("hello"),
// 自定义过滤函数
FilterFunc(
func (level Level, keyvals ...interface{}) bool {
if level == LevelWarn {
return true
}
for i := 0; i < len(keyvals); i++ {
if keyvals[i] == "password" {
keyvals[i+1] = fuzzyStr
}
}
return false
}
),
),
)
h.Log(log.LevelDebug, "msg", "test debug")
h.Info("hello")
h.Infow("password", "123456")
h.Infow("username", "kratos")
h.Warn("warn log")
*/ FilterOption is filter option.
No description provided by the author
Option is Helper option.
No description provided by the author
No description provided by the author