/golog

a personal logger

Primary LanguageGoMIT LicenseMIT

golog

a simple logger for go. 一个简易的日志库,对标准库中的log进行了封装,提供了如下实用功能:

  • 日志级别 Log level
  • 日志轮转 Log rotate
  • 日志压缩 Gzip compress

引用

go get -u github.com/jiyu93/golog

范例

直接输出到控制台(全局默认)

代码示例:

golog.Info("hello world")

输出结果:

2020/01/01 00:00:00 test.go:10: [I] hello world

输出到单个文件(修改全局默认输出)

代码示例:

// 创建一个日志轮转器Rotater,设置文件名、单个文件大小(MB)、日志备份总数、旧文件是否压缩
w := golog.NewRotater("log/app.log",256,10,false)
// 将这个Rotater作为默认的Writer使用
golog.SetDefaultOutput(w)
golog.Info("hello world")

运行结果:

# cat log/app.log
2020/01/01 00:00:00 test.go:10: [I] hello world

输出到多个文件

代码示例:

loggerA :=  golog.NewLogger(golog.NewRotater("log/moduleA.log",256,10,false),golog.LevelDebug)
loggerB :=  golog.NewLogger(golog.NewRotater("log/moduleB.log",256,10,false),golog.LevelDebug)

loggerA.Info("aaa")
loggerB.Info("bbb")

运行结果:

# ls log/
moduleA.log moduleB.log

# cat moduleA.log
2020/01/01 00:00:00 test.go:10: [I] aaa

# cat moduleB.log
2020/01/01 00:00:00 test.go:10: [I] bbb