slog

package module
v0.0.17 Latest Latest
Warning

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

Go to latest
Published: Aug 24, 2024 License: MIT Imports: 18 Imported by: 6

README

说明

log 包封装了 slog 包,提供了更简单的接口。并且提供了一个全局的 logger(同时包含了使用[slog.TextHandler]和[slog.JSONHandler]的Logger),可以直接使用。

Example

slog.SetLevelInfo()

slog.Infof("Pid: %d 服务已经初始化完成, %d 个协程被创建.", os.Getpid(), runtime.NumGoroutine())
slog.Warn("这是一个警告日志", "aaaa", "bbbb")
slog.Error("这是一个错误日志", "aaaa", "bbbb")
slog.Info("这是一个信息日志: %s -> %d", "Info", 88888)
slog.Debug("这是一个调试日志: %s -> %d", "Debug", 88888)
slog.Warnf("这是一个警告日志: %s -> %d", "Warnf", 88888)
slog.Printf("这是一个信息日志: %s -> %d", "Printf", 88888)
slog.Trace("这是一个路由日志: %s -> %d", "Trace", 88888)
slog.WithGroup("slog").Debug("这是一个调试日志", slog.Group("data",
    slog.Int("width", 4000),
    slog.Int("height", 3000),
    slog.String("format", "jpeg png"),
    slog.Bool("status", true),
    slog.Time("time", time.Now()),
    slog.Duration("duration", time.Duration(333)),
))

l1 := slog.Default("apps", "module").WithValue("os", runtime.GOARCH).WithValue("l1", runtime.NumGoroutine())
l1.Infof("Pid: %d 服务已经初始化完成, %d 个协程被创建.", os.Getpid(), runtime.NumGoroutine())
l1.Infof("lv: %s", l1.GetLevel().String())
l1.Warn("这是一个警告日志", "aaaa", "bbbb")
l1.Error("这是一个错误日志", "aaaa", "bbbb")
l1.Info("这是一个信息日志: %s -> %d", "sss", 88888)
l1.Debug("这是一个调试日志: %s -> %d", "sss", 88888)
l1.Warnf("这是一个警告日志: %s -> %d", "sss", 88888)
l1.Printf("这是一个信息日志: %s -> %d", "sss", 88888)
l1.Trace("这是一个路由日志: %s -> %d", "sss", 88888)
l1.SetLevel(slog.LevelDebug)
l1.Debug("这是一个调试日志", slog.Group("data",
    slog.Int("width", 4000),
    slog.Int("height", 3000),
    slog.String("format", "jpeg png"),
    slog.Bool("status", true),
    slog.Time("time", time.Now()),
    slog.Duration("time1", time.Duration(333)),
))

Documentation

Index

Constants

View Source
const (
	TimeKey    = slog.TimeKey
	LevelKey   = slog.LevelKey
	MessageKey = slog.MessageKey
	SourceKey  = slog.SourceKey
)
View Source
const (
	Name    = "slog"
	Version = "v1.0.0"
)

Variables

View Source
var (
	TimeFormat = "2006/01/02 15:04.05.000"
)

Functions

func Debug

func Debug(msg string, args ...any)

Debug 记录全局Debug级别的日志。

func Debugf

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

Debugf 记录格式化的全局Debug级别的日志。

func DisableJsonLogger

func DisableJsonLogger()

DisableJsonLogger 禁用 JSON 日志记录器。

func DisableTextLogger

func DisableTextLogger()

DisableTextLogger 禁用文本日志记录器。

func DlpMask added in v0.0.16

func DlpMask(inStr string, model ...string) (outStr string)

DlpMask 脱敏传入的字符串并且返回脱敏后的结果,这里用godlp实现,所有的识别及脱敏算法全都用godlp的开源内容,当然也可以自己写或者扩展

func EnableFormatters added in v0.0.16

func EnableFormatters(formatters ...formatter.Formatter)

EnableFormatters 启用日志脱敏处理器。

func EnableJsonLogger

func EnableJsonLogger()

EnableJsonLogger 启用 JSON 日志记录器。

func EnableTextLogger

func EnableTextLogger()

EnableTextLogger 启用文本日志记录器。

func Error

func Error(msg string, args ...any)

Error 记录全局Error级别的日志。

func Errorf

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

Errorf 记录格式化的全局Error级别的日志。

func Fatal added in v0.0.2

func Fatal(msg string, args ...any)

Fatal 记录全局Fatal级别的日志,并退出程序。

func Fatalf added in v0.0.2

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

Fatalf 记录格式化的全局Fatal级别的日志,并退出程序。

func GetChanRecord added in v0.0.15

func GetChanRecord(num ...uint16) chan slog.Record

GetChanRecord 使用通道获取日志信息

func GetSlogLogger added in v0.0.16

func GetSlogLogger() *slog.Logger

GetSlogLogger 返回原始log/slog的日志记录器

func Info

func Info(msg string, args ...any)

Info 记录全局Info级别的日志。

func Infof

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

Infof 记录格式化的全局Info级别的日志。

func New added in v0.0.2

func New(handler Handler) *slog.Logger

func NewConsoleHandler added in v0.0.2

func NewConsoleHandler(w io.Writer, noColor bool, opts *slog.HandlerOptions) slog.Handler

NewConsoleHandler returns a log/slog.Handler using the receiver's options. Default options are used if opts is nil.

func NewJSONHandler added in v0.0.2

func NewJSONHandler(w io.Writer, opts *HandlerOptions) *slog.JSONHandler

func NewOptions added in v0.0.2

func NewOptions(options *slog.HandlerOptions) *slog.HandlerOptions

NewOptions 创建新的处理程序选项。

func NewTextHandler added in v0.0.2

func NewTextHandler(w io.Writer, opts *HandlerOptions) *slog.TextHandler

func Printf

func Printf(format string, args ...any)

Printf 记录信息级别的格式化日志。

func Println

func Println(msg string, args ...any)

Println 记录信息级别的日志。

func SetLevelDebug

func SetLevelDebug()

SetLevelDebug 设置全局日志级别为Debug。

func SetLevelError

func SetLevelError()

SetLevelError 设置全局日志级别为Error。

func SetLevelFatal

func SetLevelFatal()

SetLevelFatal 设置全局日志级别为Fatal。

func SetLevelInfo

func SetLevelInfo()

SetLevelInfo 设置全局日志级别为Info。

func SetLevelTrace

func SetLevelTrace()

SetLevelTrace 设置全局日志级别为Trace。

func SetLevelWarn

func SetLevelWarn()

SetLevelWarn 设置全局日志级别为Warn。

func Trace

func Trace(msg string, args ...any)

Trace 记录全局Trace级别的日志。

func Tracef

func Tracef(format string, args ...any)

Tracef 记录格式化的全局Trace级别的日志。

func Warn

func Warn(msg string, args ...any)

Warn 记录全局Warn级别的日志。

func Warnf

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

Warnf 记录格式化的全局Warn级别的日志。

Types

type Attr

type Attr = slog.Attr

func Any

func Any(key string, v any) Attr

func Bool

func Bool(key string, v bool) Attr

func Duration

func Duration(key string, v time.Duration) Attr

func Float64

func Float64(key string, v float64) Attr

func Group

func Group(key string, args ...any) Attr

func Int

func Int(key string, v int) Attr

func Int64

func Int64(key string, v int64) Attr

func String

func String(key string, v string) Attr

func Time

func Time(key string, v time.Time) Attr

func Uint64

func Uint64(key string, v uint64) Attr

type Handler added in v0.0.15

type Handler = slog.Handler

type HandlerOptions added in v0.0.2

type HandlerOptions = slog.HandlerOptions

type Level added in v0.0.2

type Level = slog.Level
const (
	LevelTrace Level = -8
	LevelDebug Level = -4
	LevelInfo  Level = 0
	LevelWarn  Level = 4
	LevelError Level = 8
	LevelFatal Level = 12
)

func GetLevel added in v0.0.11

func GetLevel() Level

GetLevel 获取全局日志级别。

type Logger

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

func Default

func Default(modules ...string) *Logger

Default 返回一个新的带前缀的日志记录器

func NewLogger added in v0.0.15

func NewLogger(writer io.Writer, noColor, addSource bool) Logger

NewLogger 创建一个包含文本和JSON格式的日志记录器

func With added in v0.0.11

func With(args ...any) *Logger

With 创建一个新的日志记录器,带有指定的属性。

func WithContext added in v0.0.3

func WithContext(ctx context.Context) *Logger

WithContext 使用给定的上下文

func WithGroup added in v0.0.11

func WithGroup(name string) *Logger

With 创建一个新的日志记录器,带有指定的属性。

func WithValue

func WithValue(key string, val any) *Logger

WithValue 在上下文中存储一个键值对,并返回新的上下文

func (*Logger) Debug

func (l *Logger) Debug(msg string, args ...any)

Debug 记录Debug级别的日志。

func (*Logger) Debugf

func (l *Logger) Debugf(format string, args ...any)

Debugf 记录格式化的Debug级别的日志。

func (*Logger) Error

func (l *Logger) Error(msg string, args ...any)

Error 记录Error级别的日志。

func (*Logger) Errorf

func (l *Logger) Errorf(format string, args ...any)

Errorf 记录格式化的Error级别的日志。

func (*Logger) Fatal added in v0.0.2

func (l *Logger) Fatal(msg string, args ...any)

Fatal 记录Fatal级别的日志,并退出程序。

func (*Logger) Fatalf added in v0.0.2

func (l *Logger) Fatalf(format string, args ...any)

Fatalf 记录格式化的Fatal级别的日志,并退出程序。

func (*Logger) GetLevel added in v0.0.9

func (l *Logger) GetLevel() Level

GetLevel 获取当前日志级别。

func (*Logger) GetSlogLogger added in v0.0.16

func (l *Logger) GetSlogLogger() *slog.Logger

GetSlogLogger 返回原始log/slog的日志记录器

func (*Logger) Info

func (l *Logger) Info(msg string, args ...any)

Info 记录Info级别的日志。

func (*Logger) Infof

func (l *Logger) Infof(format string, args ...any)

Infof 记录格式化的Info级别的日志。

func (*Logger) Printf added in v0.0.2

func (l *Logger) Printf(format string, args ...any)

Printf 为了兼容fmt.Printf风格输出

func (*Logger) Println added in v0.0.2

func (l *Logger) Println(msg string, args ...any)

Println 为了兼容fmt.Println风格输出

func (*Logger) SetLevel added in v0.0.15

func (l *Logger) SetLevel(level Level) *Logger

SetLevel 动态设置日志打印级别。

func (*Logger) Trace added in v0.0.6

func (l *Logger) Trace(msg string, args ...any)

Trace 记录Trace级别的日志。

func (*Logger) Tracef added in v0.0.6

func (l *Logger) Tracef(format string, args ...any)

Tracef 记录格式化的Trace级别的日志。

func (*Logger) Warn

func (l *Logger) Warn(msg string, args ...any)

Warn 记录Warn级别的日志。

func (*Logger) Warnf

func (l *Logger) Warnf(format string, args ...any)

Warnf 记录格式化的Warn级别的日志。

func (*Logger) With

func (l *Logger) With(args ...any) *Logger

With 创建一个新的日志记录器,带有指定的属性。

func (*Logger) WithContext added in v0.0.7

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

WithContext 使用给定的上下文

func (*Logger) WithGroup

func (l *Logger) WithGroup(name string) *Logger

WithGroup 创建一个新的日志记录器,带有指定的分组。

func (*Logger) WithValue added in v0.0.2

func (l *Logger) WithValue(key string, val any) *Logger

WithValue 在上下文中存储一个键值对,并返回新的上下文

type Record added in v0.0.8

type Record = slog.Record

type Value added in v0.0.2

type Value = slog.Value

func GroupValue added in v0.0.16

func GroupValue(args ...Attr) Value

func StringValue added in v0.0.2

func StringValue(value string) Value

Directories

Path Synopsis
dlp
Package dlp provides dlp sdk api implementaion
Package dlp provides dlp sdk api implementaion
conf
Package conf provides configuration handler for dlp
Package conf provides configuration handler for dlp
detector
Package detector implements detector functions
Package detector implements detector functions
dlpheader
Package dlpheader defines API information about DLP SDK, including DetectResult, mask methods and API functions.
Package dlpheader defines API information about DLP SDK, including DetectResult, mask methods and API functions.
mask
Package mask implements Mask API
Package mask implements Mask API

Jump to

Keyboard shortcuts

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