golang 有没有一个日志库,日志输出文件是按时间划分的

enjoyass · · 3497 次点击
johng
https://goframe.org
`glog`包 : https://gfer.me/os/glog/index 。`glog`支持文件输出、日志级别、日志分类、调试管理、调用跟踪、链式操作等丰富特性。 默认情况下,日志文件名称以当前时间日期命名,格式为`YYYY-MM-DD.log`,我们可以使用`SetFile`方法来设置文件名称的格式,并且文件名称格式支持【[`gtime`时间格式](https://gfer.me/os/gtime/index.md)】。简单示例: ```go package main import ( "gitee.com/johng/gf/g/os/glog" "gitee.com/johng/gf/g/os/gfile" "gitee.com/johng/gf/g" ) // 设置日志等级 func main() { l := glog.New() path := "/tmp/glog" l.SetPath(path) l.SetStdPrint(false) // 使用默认文件名称格式 l.Println("标准文件名称格式,使用当前时间时期") // 通过SetFile设置文件名称格式 l.SetFile("stdout.log") l.Println("设置日志输出文件名称格式为同一个文件") // 链式操作设置文件名称格式 l.File("stderr.log").Println("支持链式操作") l.File("error-{Ymd}.log").Println("文件名称支持带gtime日期格式") l.File("access-{Ymd}.log").Println("文件名称支持带gtime日期格式") list, err := gfile.ScanDir(path, "*") g.Dump(err) g.Dump(list) } ``` 执行后,输出结果为: ```html null [ "/tmp/glog/2018-10-10.log", "/tmp/glog/access-20181010.log", "/tmp/glog/error-20181010.log", "/tmp/glog/stderr.log", "/tmp/glog/stdout.log" ] ``` 可以看到,文件名称格式中如果需要使用`gtime`时间格式,格式内容需要使用`{xxx}`包含起来。该示例中也使用到了`链式操作`的特性,具体请看后续说明。
#4
更多评论
https://github.com/NiuStar/log 生成的是按时间命名的文件,默认保存最近七天的log,可以自定义修改
#1
好的,我看下,谢谢啊
#2