logger

package module
v0.2.5 Latest Latest
Warning

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

Go to latest
Published: Sep 26, 2025 License: Apache-2.0 Imports: 12 Imported by: 39

README

logger

convenient log package

1. 使用说明

    // 配置logger,如果不配置时默认为控制台输出,等级为DEBUG
    logger.SetLogger(`{"Console": {"level": "DEBG"}`)
    // 配置说明见下文

    // 设置完成后,即可在控制台和日志文件app.log中看到如下输出
    logger.Debug("this is Debug")
    logger.Trace("this is Trace")
    logger.Alert("this is Alert")
    logger.Error("this is Error")
    logger.Panic("this is Panic")
    logger.Fatal("this is Fatal")

2. 日志等级

当前日志输出等级共6种,对应的等级由底到高,当配置为某个输出等级时,只有大于等于该等级的日志才会输出

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Console = &console{colorful: true}

Functions

func Alert

func Alert(f any, v ...any)

func Close added in v0.2.3

func Close() error

func Debug

func Debug(f any, v ...any)

func DelOutput added in v0.0.4

func DelOutput(name string)

func Error

func Error(f any, v ...any)

func Fatal

func Fatal(f any, v ...any)

func FileNameFormatterDefault added in v0.2.4

func FileNameFormatterDefault() (name, backup string, expire int64)

FileNameFormatterDefault 默认日志文件,每日一份

func Format added in v0.2.0

func Format(format any, args ...any) (text string)

func Info

func Info(f any, v ...any)

func Panic added in v0.0.2

func Panic(f any, v ...any)

func SetCallDepth added in v0.0.2

func SetCallDepth(depth int)

func SetFilePathFormatter added in v0.1.2

func SetFilePathFormatter(f filePathFormatter)

SetFilePathFormatter 设置日志起始路径

func SetLevel added in v0.0.2

func SetLevel(level Level)

SetLevel 设置日志输出等级

func SetOutput added in v0.0.2

func SetOutput(name string, output Output) error

func Sprint added in v0.2.0

func Sprint(level Level, content string, stack ...string)

func Trace

func Trace(f any, v ...any)

func Warn

func Warn(f any, v ...any)

func Write added in v0.2.0

func Write(msg *Message, stack ...string)

Types

type Conn added in v0.0.2

type Conn struct {
	sync.Mutex
	Network   string `json:"network"`
	Address   string `json:"address"`
	Reconnect bool   `json:"reconnect"`
	Format    func(*Message) string
	// contains filtered or unexported fields
}

func NewConn added in v0.0.2

func NewConn(network, address string) *Conn

func (*Conn) Close added in v0.0.2

func (c *Conn) Close()

func (*Conn) Init added in v0.0.2

func (c *Conn) Init() error

func (*Conn) Name added in v0.0.2

func (c *Conn) Name() string

func (*Conn) Write added in v0.0.2

func (c *Conn) Write(msg *Message) (err error)

type File added in v0.0.2

type File struct {
	Sprintf func(*Message) *strings.Builder //格式化message
	// contains filtered or unexported fields
}

func NewFile added in v0.0.2

func NewFile(path string, cap ...int) *File

func (*File) Close added in v0.2.2

func (f *File) Close() error

Close 优雅关闭日志文件

func (*File) SetFileName added in v0.0.3

func (f *File) SetFileName(fileNameFormatterFunc fileNameFormatter)

SetFileName 设置日志文件名, 前缀(string) 或者 fileNameFormatter 注意:该方法只应在初始化时调用

func (*File) SetFileSize added in v0.1.0

func (f *File) SetFileSize(n int64)

SetFileSize 设置文件大小(M),默认无限制 注意:该方法只应在初始化时调用

func (*File) SetFlushInterval added in v0.2.5

func (f *File) SetFlushInterval(interval time.Duration)

SetFlushInterval 设置缓冲区刷新间隔 注意:该方法可以在运行时调用,会在下一次定时器触发时生效

func (*File) Write added in v0.0.2

func (f *File) Write(msg *Message)

type Level added in v0.0.2

type Level int8
const (
	LevelDebug Level = 0 // 调试信息,最详细的日志
	LevelTrace Level = 1 // 追踪信息, 例如: 函数调用, 变量值
	LevelInfo  Level = 2 // 一般信息,正常运行状态, 例如: 服务启动, 数据库连接成功
	LevelWarn  Level = 3 // 警告信息,可能的问题, 例如: 配置错误, 资源不足
	LevelAlert Level = 4 // 警报信息,需要关注的问题, 例如: 数据库连接失败, 内存泄漏
	LevelError Level = 5 // 错误信息,发生错误但不影响程序运行, 例如: 文件读写错误, 网络连接错误
	LevelPanic Level = 6 // 严重错误,抛出panic但不终止程序
	LevelFatal Level = 7 // 致命错误,记录日志后终止程序运行
)

日志等级,数值越大优先级越高

func (Level) Brush added in v0.0.2

func (l Level) Brush(text string) string

func (Level) String added in v0.0.2

func (l Level) String() string

type Logger

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

func New

func New(depth ...int) *Logger

func (*Logger) Alert

func (log *Logger) Alert(format any, args ...any)

func (*Logger) Close

func (log *Logger) Close() error

func (*Logger) Debug

func (log *Logger) Debug(format any, args ...any)

Debug Log DEBUG level message.

func (*Logger) DelOutput added in v0.0.2

func (log *Logger) DelOutput(name string)

func (*Logger) Error

func (log *Logger) Error(format any, args ...any)

Error Log ERROR level message.

func (*Logger) Fatal

func (log *Logger) Fatal(format any, args ...any)

func (*Logger) Info

func (log *Logger) Info(format any, args ...any)

Info Log INFO level message.

func (*Logger) Panic added in v0.0.2

func (log *Logger) Panic(format any, args ...any)

func (*Logger) SetCallDepth

func (log *Logger) SetCallDepth(depth int)

func (*Logger) SetFilePathFormatter added in v0.1.2

func (log *Logger) SetFilePathFormatter(f filePathFormatter)

SetFilePathFormatter 设置日志起始路径

func (*Logger) SetLevel added in v0.0.2

func (log *Logger) SetLevel(level Level)

SetLevel 设置日志输出等级

func (*Logger) SetOutput added in v0.0.2

func (log *Logger) SetOutput(name string, output Output) error

func (*Logger) Sprint added in v0.0.4

func (log *Logger) Sprint(level Level, content string, stack ...string)

func (*Logger) Trace

func (log *Logger) Trace(format any, args ...any)

Trace Log TRAC level message.

func (*Logger) Warn

func (log *Logger) Warn(format any, args ...any)

Warn Log WARN level message.

func (*Logger) Write added in v0.0.2

func (log *Logger) Write(msg *Message, stack ...string)

type Message

type Message struct {
	Path    string
	Time    time.Time
	Level   Level
	Stack   string
	Content string
}

func (*Message) Sprintf added in v0.1.0

func (this *Message) Sprintf() *strings.Builder

type Output added in v0.0.2

type Output interface {
	Write(message *Message)
	Close() error
}

Output Output输出时是否对字体染色

Jump to

Keyboard shortcuts

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