[gookit/slog](https://github.com/gookit/slog) 是一个易于使用的,轻量级、可配置、可扩展的日志库。支持多个级别,输出到多文件;内置文件日志处理、自动切割、清理、压缩等增强功能。
- Github https://github.com/gookit/slog
**控制台日志效果:**
![console-log-all-level](https://raw.githubusercontent.com/gookit/slog/master/_example/images/console-log-all-level.png)
## 功能简介
- 简单,无需配置,开箱即用
- 支持常用的日志级别处理
- 如: `trace` `debug` `info` `notice` `warn` `error` `fatal` `panic`
- 可以任意扩展自己需要的 `Handler` `Formatter`
- 支持同时添加多个 `Handler` 日志处理,输出日志到不同的地方
- 支持自定义构建 `Handler` 处理器
- 内置的 `handler.Config` `handler.Builder`,可以方便快捷的构建想要的日志处理器
- 支持自定义 `Formatter` 格式化处理
- 内置了 `json` `text` 两个日志记录格式化 `Formatter`
- 已经内置了常用的日志处理器
- `console` 输出日志到控制台,支持色彩输出
- `writer` 输出日志到指定的 `io.Writer`
- `file` 输出日志到指定文件,可选启用 `buffer` 缓冲写入
- `simple` 输出日志到指定文件,无缓冲直接写入文件
- `rotate_file` 输出日志到指定文件,并且同时支持按时间、按大小分割文件,默认启用 `buffer` 缓冲写入
- 更多内置实现请查看 ./handler 文件夹
### 输出日志到文件
- 支持启用 `buffer` 缓冲日志写入
- 支持按时间、按大小自动分割文件
- 支持配置通过 `gzip` 压缩日志文件
- 支持清理旧日志文件 配置: `BackupNum` `BackupTime`
> 更多使用请看 [README](https://github.com/gookit/slog/blob/master/README.zh-CN.md)
## v0.5.1 更新日志
### 更新
- ⚡ perf: 优化处理日志消息数据的性能
- 👔 up: 更新一些代码逻辑并添加更多单元测试
### 其他
- ✅ test: 更新benchmark测试并更新readme
## v0.5.0 更新日志
### 变更
- 💥 break: 重命名一些接口和结构体
### 新增功能
- ✨ feat: handler - 配置新增字段 LevelMode, Level
- ✨ feat: 为 handler.Builder 添加更多快速的配置方法
### 其他
- 📝 doc: 更新readme文档并添加更多用法示例
- ⬆️ dep: 更新相关依赖工具库到最新版本
> 更多使用请看 [README](https://github.com/gookit/slog/blob/master/README.zh-CN.md)
有疑问加站长微信联系(非本文作者))