slog - 一个易于使用的,易扩展、可配置的日志库
gookit/slog 📑 一个易于使用的,轻量级、可配置、可扩展的日志库。支持多个级别,输出到多文件;内置文件日志处理、自动切割、清理、压缩等增强功能

功能特色
- 简单,无需配置,开箱即用
- 支持常用的日志级别处理
- 如:
tracedebuginfonoticewarnerrorfatalpanic
- 如:
- 可以任意扩展自己需要的
HandlerFormatter - 支持同时添加多个
Handler日志处理,输出日志到不同的地方 - 支持自定义构建
Handler处理器- 内置的
handler.Confighandler.Builder,可以方便快捷的构建想要的日志处理器
- 内置的
- 支持自定义
Formatter格式化处理- 内置了
jsontext两个日志记录格式化Formatter
- 内置了
- 已经内置了常用的日志处理器
console输出日志到控制台,支持色彩输出writer输出日志到指定的io.Writerfile输出日志到指定文件,可选启用buffer缓冲写入simple输出日志到指定文件,无缓冲直接写入文件rotate_file输出日志到指定文件,并且同时支持按时间、按大小分割文件,默认启用buffer缓冲写入- 更多内置实现请查看 ./handler 文件夹
输出日志到文件
- 支持启用
buffer缓冲日志写入 - 支持按时间、按大小自动分割文件
- 支持配置通过
gzip压缩日志文件 - 支持清理旧日志文件 配置:
BackupNumBackupTime
Git 仓库
- Github: https://github.com/gookit/slog
- Gitee: https://gitee.com/gookit/slog
安装
快速开始
package main
import (
"github.com/gookit/slog"
)
func main()
控制台日志效果:

记录到文件
使用 slog 输出日志到文件非常方便,并且支持多文件,按时间分割等
package main
import (
"github.com/gookit/slog"
"github.com/gookit/slog/handler"
"github.com/gookit/slog/rotatefile"
)
func main()
查看日志目录:
自定义创建logger
bufwrite 包
github.com/gookit/slog/bufwrite
rotatefile 包
github.com/gookit/slog/rotatefile
更多使用
更多使用说明请看 README https://github.com/gookit/slog/blob/master/README.zh-CN.md