zlog2

package module
v0.0.0-...-5063f75 Latest Latest
Warning

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

Go to latest
Published: Mar 31, 2020 License: Apache-2.0 Imports: 9 Imported by: 0

README

朴实无华的日志模块


获得

go get -u github.com/zlyuancn/zlog2

简单使用

zlog2.Debug("debug")
zlog2.Info("info")
zlog2.Warn("warn")
zlog2.Error("error")
zlog2.Fatal("fatal")

将日志输出到文件

conf := zlog2.DefaultConfig
conf.WriteToFile = true
l := zlog2.New(conf)
l.Info("123")

其他选项

Level              string       // 日志等级: disable, debug, info, warn, error, fatal
WriteToFile        bool         // 日志是否输出到文件
Name               string       // 日志文件名, 末尾会自动附加 .log 后缀
AppendPid          bool         // 是否在日志文件名后附加进程号
Path               string       // 日志存放路径
FileMaxSize        int          // 每个日志最大尺寸,单位M
FileMaxBackupsNum  int          // 日志文件最多保存多少个备份
FileMaxDurableTime int          // 文件最多保存多长时间,单位天
TimeFormat         string       // 时间输出格式
IsTerminal         bool         // 是否为控制台模式(控制台会打印彩色日志等级)
ShowInitInfo       bool         // 显示初始化信息
ShowFileAndLinenum bool         // 显示文件路径和行号
InfoLeveNoLinenum  bool         // info等级不显示文件路径和行号
CallerSkip         int          // 程序跳转次数

Documentation

Index

Constants

View Source
const (
	DisableLevel Level = "disable" // 禁用, 此等级不会输出任何日志
	DebugLevel         = "debug"   // 开发用, 生产模式下不应该是debug
	InfoLevel          = "info"    // 默认级别, 用于告知程序运行情况
	WarnLevel          = "warn"    // 比信息更重要,但不需要单独的人工检查。
	ErrorLevel         = "error"   // 高优先级的。如果应用程序运行正常,就不应该生成任何错误级别的日志。
	FatalLevel         = "fatal"   // 记录一条消息, 然后调用 os.Exit(1)
)

Variables

View Source
var DefaultConfig = LogConfig{
	Level:              "debug",
	WriteToFile:        false,
	Name:               "zlog2",
	AppendPid:          false,
	Path:               "./log",
	FileMaxSize:        32,
	FileMaxBackupsNum:  3,
	FileMaxDurableTime: 7,
	TimeFormat:         "2006-01-02 15:04:05",
	IsTerminal:         true,
	ShowInitInfo:       true,
	ShowFileAndLinenum: false,
	InfoLeveNoLinenum:  false,
	CallerSkip:         0,
}

Functions

func AddAfterHandler

func AddAfterHandler(afters ...AfterHandler)

func AddBeforeHandler

func AddBeforeHandler(befores ...BeforeHandler)

func Debug

func Debug(v ...interface{})

func Debugf

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

func Error

func Error(v ...interface{})

func Errorf

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

func Fatal

func Fatal(v ...interface{})

func Fatalf

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

func Info

func Info(v ...interface{})

func Infof

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

func Log

func Log(level Level, v ...interface{})

func Logf

func Logf(level Level, format string, args ...interface{})

func SetAfterHandler

func SetAfterHandler(afters ...AfterHandler)

func SetBeforeHandler

func SetBeforeHandler(befores ...BeforeHandler)

func Warn

func Warn(v ...interface{})

func Warnf

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

Types

type AfterHandler

type AfterHandler func(level Level, v ...interface{})

日志写入之后的中间件

type BeforeHandler

type BeforeHandler func(level Level, v ...interface{}) (cancel bool)

日志写入之前的中间件, 如果 cancel 则不会再传入下一个中间件且不会写入日志

type Level

type Level string

type LogConfig

type LogConfig struct {
	Level              string // 日志等级: disable, debug, info, warn, error, fatal
	WriteToFile        bool   // 日志是否输出到文件
	Name               string // 日志文件名, 末尾会自动附加 .log 后缀
	AppendPid          bool   // 是否在日志文件名后附加进程号
	Path               string // 日志存放路径
	FileMaxSize        int    // 每个日志最大尺寸,单位M
	FileMaxBackupsNum  int    // 日志文件最多保存多少个备份
	FileMaxDurableTime int    // 文件最多保存多长时间,单位天
	TimeFormat         string // 时间输出格式
	IsTerminal         bool   // 是否为控制台模式(控制台会打印彩色日志等级)
	ShowInitInfo       bool   // 显示初始化信息
	ShowFileAndLinenum bool   // 显示文件路径和行号
	InfoLeveNoLinenum  bool   // info等级不显示文件路径和行号
	CallerSkip         int    // 程序跳转次数
}

type Loger

type Loger interface {
	Log(level Level, v ...interface{})
	Debug(v ...interface{})
	Info(v ...interface{})
	Warn(v ...interface{})
	Error(v ...interface{})
	Fatal(v ...interface{})
}

type Logfer

type Logfer interface {
	Loger
	Logf(level Level, format string, args ...interface{})
	Debugf(format string, args ...interface{})
	Infof(format string, args ...interface{})
	Warnf(format string, args ...interface{})
	Errorf(format string, args ...interface{})
	Fatalf(format string, args ...interface{})
}
var DefaultLogger Logfer = defaultLog

type LogferWrap

type LogferWrap interface {
	Logfer
	SetBeforeHandler(befores ...BeforeHandler)
	AddBeforeHandler(befores ...BeforeHandler)
	SetAfterHandler(afters ...AfterHandler)
	AddAfterHandler(afters ...AfterHandler)
}

func New

func New(conf LogConfig) LogferWrap

func NewWithLogger

func NewWithLogger(log *golog.Logger, conf LogConfig) LogferWrap

Jump to

Keyboard shortcuts

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