Skip to content

glogging

Tony Wong edited this page Mar 1, 2023 · 1 revision

glogging 包设计目标是支持日志级别和自动切割, 通过对 go.uber.org/zap 和 github.com/natefinch/lumberjack 包封装分别实现这两个需求。

打印日志应该说明 when what where how why,因此打印日志应该带上文件名、行数信息,这也是选用 zap 而没选用其他日志库原因之一。

使用示例

自定义日志级别和日志切割(默认 100 MB 一个、保留 30 天,最多保留 15 个)

package main

import (
	"github.com/giant-stone/go/glogging"
)

func main() {
	glogging.Init([]string{"stderr"}, "debug")
	// or glogging.Init([]string{"/data/foo/main.log"}, "warn")

	glogging.Sugared.Debug("hello")
	glogging.Sugared.Error("hello")
	glogging.Sugared.Warnf("hello %s", "world")
}
Clone this wiki locally