## Mix Logrus 基于 Logrus 扩展的日志库,支持行号、文件切分、调用堆栈 Based on Logrus extended log library, support file line, file rotate, call stack ## Overview 与原版 `Logrus` 有哪些不同? - 开启了文件行号的支持,方便调试程序,使用 `logger.ReportCaller` 关闭。 - 设置了国内使用习惯的时间格式 `2006-01-02 15:04:05.000`,使用 `logger.Formatter.TimestampFormat` 修改。 - 扩展了日志文件轮转功能,并自动保留指定天数的文件数。 - 扩展了 `mix-go/console` 的 panic 捕获功能,可以实现捕获 panic 堆栈信息到日志,这个功能让我们不需要再从标准输出中查找 panic 错误信息。 ## Usage - 安装 ``` go get -u github.com/mix-go/logrus ``` - 只配置 `os.Stdout` 输出 ~~~ logger := logrus.NewLogger() logger.SetOutput(os.Stdout) ~~~ 输出格式 ~~~ INFO[2020-09-18 18:36:23.342]hello.go:16 This is the content ~~~ - 同时配置 `os.Stdout` 与 `io.Writer` 输出 >[info] NewFileWriter(filename string, maxFiles int) io.Writer ~~~ logger := logrus.NewLogger() file := logrus.NewFileWriter("/tmp/logs/test.log", 7) writer := io.MultiWriter(os.Stdout, file) logger.SetOutput(writer) ~~~ 输出格式 ~~~ time=2020-09-18 16:18:51.470 level=info msg=This is the content file=hello.go:16 ~~~ 文件轮转格式 ~~~ /tmp/logs/test.log.20200916 ~~~ ## License Apache License Version 2.0, http://www.apache.org/licenses/