Skip to content

Latest commit

 

History

History

logger

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Manual

初始化 logrus

初始化 logrus 并设置输出目标

func New(level logrus.Level, out io.Writer) *logrus.Logger

初始化 logrus 并将输出目标设置为使用 lumberjack 实现的自动切割日志写入器

func NewFile(level string, out string) *logrus.Logger

使用默认日志写入器

无需调用任何方法,日志将会自动被输出到 stdout,实际行为类似 New(logrus.DebugLevel, os.Stdout)

使用默认文件日志写入器

相当于 NewFile("info", "log/jk.log")

func UseDefault()

lumberjack

生成一个支持自动切割日志的写入器

func NewRotater(file string) io.Writer

获取 logrus 实例

在没有进行 Init 时调用该方法,将会自动进行对 /dev/stdout 进行 info 级别的初始化

func Get() *logrus.Logger

注入 logrus 实例

使用已有的 logrus 实例替换 std logger

func UseLogger(l *logrus.Logger)

API

提供了以下的API,一般情况下不需要使用 Get() 获取 logger 实例

写入 Info 级别的日志

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

写入 Fatal 级别的日志

将会退出程序

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

写入 Warn 级别的日志

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

写入 Error 级别的日志

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

写入 Debug 级别的日志

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

Group

补充功能,本质上是 WithField("group", strings.ToUpper(group))

func Group(group string) *logrus.Entry

WithField

等同 logrus.WithField

func WithField(key string, value any) *logrus.Entry

WithError

等同 logrus.WithError

func WithError(err error) *logrus.Entry

示例

package main

import (
	"fmt"

	"github.com/o8x/jk/logger"
)

func main() {
	logger.UseLogger(logger.NewFile("info", "/dev/stdout"))

	logger.Info("Info log")
	logger.Fatal("Fatal log")
	logger.Warn("Warn log")
	logger.Error("Error log")
	logger.Group("group").Info("log with group")
	logger.WithError(fmt.Errorf("with error")).Info("log with error")
	logger.WithField("n", 1).Info("log with field")

	logger.Get().Error("use Get() print log")
}

运行它

> go run .
time="2023-01-17T11:25:56+08:00" level=info msg="Info log"
time="2023-01-17T11:25:56+08:00" level=fatal msg="Fatal log"
time="2023-01-17T11:25:56+08:00" level=warning msg="Warn log"
time="2023-01-17T11:25:56+08:00" level=error msg="Error log"
time="2023-01-17T11:25:56+08:00" level=info msg="log with group" group=GROUP
time="2023-01-17T11:25:56+08:00" level=info msg="log with error" error="with error"
time="2023-01-17T11:25:56+08:00" level=info msg="log with field" n=1
time="2023-01-17T11:25:56+08:00" level=error msg="use Get() print log"