log

package
v2.0.0 Latest Latest
Warning

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

Go to latest
Published: Oct 20, 2023 License: MIT Imports: 14 Imported by: 15

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Debug

func Debug(a ...interface{})

Debug 打印调试日志

func Debugf

func Debugf(format string, a ...interface{})

Debugf 打印调试模板日志

func Error

func Error(a ...interface{})

Error 打印错误日志

func Errorf

func Errorf(format string, a ...interface{})

Errorf 打印错误模板日志

func Fatal

func Fatal(a ...interface{})

Fatal 打印致命错误日志

func Fatalf

func Fatalf(format string, a ...interface{})

Fatalf 打印致命错误模板日志

func Info

func Info(a ...interface{})

Info 打印信息日志

func Infof

func Infof(format string, a ...interface{})

Infof 打印信息模板日志

func NewLogger

func NewLogger(opts ...Option) *defaultLogger

func NewWriter

func NewWriter(opts WriterOptions) (io.Writer, error)

func Panic

func Panic(a ...interface{})

Panic 打印Panic日志

func Panicf

func Panicf(format string, a ...interface{})

Panicf 打印Panic模板日志

func Print

func Print(level Level, a ...interface{})

Print 打印日志,不含堆栈信息

func Printf

func Printf(level Level, format string, a ...interface{})

Printf 打印模板日志,不含堆栈信息

func SetLogger

func SetLogger(logger Logger)

SetLogger 设置日志记录器

func Warn

func Warn(a ...interface{})

Warn 打印警告日志

func Warnf

func Warnf(format string, a ...interface{})

Warnf 打印警告模板日志

Types

type CutRule

type CutRule int

CutRule 日志切割规则

const (
	CutByYear   CutRule = iota + 1 // 按照年切割
	CutByMonth                     // 按照月切割
	CutByDay                       // 按照日切割
	CutByHour                      // 按照时切割
	CutByMinute                    // 按照分切割
	CutBySecond                    // 按照秒切割
)

func (CutRule) String

func (c CutRule) String() string

type Entity

type Entity struct {
	Color   int
	Level   Level
	Time    string
	Caller  string
	Message string
	Frames  []runtime.Frame
	// contains filtered or unexported fields
}

func (*Entity) Free

func (e *Entity) Free()

func (*Entity) Log

func (e *Entity) Log()

type EntityPool

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

type Format

type Format int

Format 日志输出格式

const (
	TextFormat Format = iota // 文本格式
	JsonFormat               // JSON格式
)

func (Format) String

func (f Format) String() string

type Level

type Level int

Level 日志级别

const (
	NoneLevel  Level = iota // NONE
	DebugLevel              // DEBUG
	InfoLevel               // INFO
	WarnLevel               // WARN
	ErrorLevel              // ERROR
	FatalLevel              // FATAL
	PanicLevel              // PANIC
)

func ParseLevel

func ParseLevel(level string) Level

func (Level) String

func (l Level) String() string

type Logger

type Logger interface {
	// Print 打印日志,不含堆栈信息
	Print(level Level, a ...interface{})
	// Printf 打印模板日志,不含堆栈信息
	Printf(level Level, format string, a ...interface{})
	// Debug 打印调试日志
	Debug(a ...interface{})
	// Debugf 打印调试模板日志
	Debugf(format string, a ...interface{})
	// Info 打印信息日志
	Info(a ...interface{})
	// Infof 打印信息模板日志
	Infof(format string, a ...interface{})
	// Warn 打印警告日志
	Warn(a ...interface{})
	// Warnf 打印警告模板日志
	Warnf(format string, a ...interface{})
	// Error 打印错误日志
	Error(a ...interface{})
	// Errorf 打印错误模板日志
	Errorf(format string, a ...interface{})
	// Fatal 打印致命错误日志
	Fatal(a ...interface{})
	// Fatalf 打印致命错误模板日志
	Fatalf(format string, a ...interface{})
	// Panic 打印Panic日志
	Panic(a ...interface{})
	// Panicf 打印Panic模板日志
	Panicf(format string, a ...interface{})
}

func GetLogger

func GetLogger() Logger

GetLogger 获取日志记录器

type Option

type Option func(o *options)

func WithCallerFullPath

func WithCallerFullPath(enable bool) Option

WithCallerFullPath 设置是否启用调用文件全路径

func WithCallerSkip

func WithCallerSkip(skip int) Option

WithCallerSkip 设置调用者跳过的层级深度

func WithClassifiedStorage

func WithClassifiedStorage(enable bool) Option

WithClassifiedStorage 设置启用文件分级存储 启用后,日志将进行分级存储,大一级的日志将存储于小于等于自身的日志级别文件中 例如:InfoLevel级的日志将存储于due.debug.20220910.log、due.info.20220910.log两个日志文件中

func WithFile

func WithFile(file string) Option

WithFile 设置输出的文件路径

func WithFileCutRule

func WithFileCutRule(cutRule CutRule) Option

WithFileCutRule 设置文件切割规则

func WithFileMaxAge

func WithFileMaxAge(maxAge time.Duration) Option

WithFileMaxAge 设置文件最大留存时间

func WithFileMaxSize

func WithFileMaxSize(size int64) Option

WithFileMaxSize 设置输出的单个文件尺寸限制

func WithFormat

func WithFormat(format Format) Option

WithFormat 设置输出的日志格式

func WithLevel

func WithLevel(level Level) Option

WithLevel 设置输出的最低日志级别

func WithStackLevel

func WithStackLevel(level Level) Option

WithStackLevel 设置堆栈的最小输出级别

func WithStdout

func WithStdout(enable bool) Option

WithStdout 设置是否输出到终端

func WithTimeFormat

func WithTimeFormat(format string) Option

WithTimeFormat 设置时间格式

type WriterOptions

type WriterOptions struct {
	Path    string
	Level   Level
	MaxAge  time.Duration
	MaxSize int64
	CutRule CutRule
}

Jump to

Keyboard shortcuts

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