28 lines
1006 B
Markdown
28 lines
1006 B
Markdown
# logger
|
||
|
||
logrus 封装:控制台彩色输出(Windows colorable)+ 按天轮转文件 + 历史日志压缩。
|
||
|
||
## 用法
|
||
|
||
```go
|
||
import "git.zeroonesoft.cn/golib/zogo/logger"
|
||
|
||
logger.SetProjectPrefix("D:/gopath/your-service/") // 可选:日志里 file 字段去掉公共前缀
|
||
logger.InitLog(logrus.InfoLevel, true, "D:/logs/app") // 可变参数传日志目录则同时落文件
|
||
```
|
||
|
||
## 行为
|
||
|
||
- 控制台:强制彩色、完整时间戳、caller 显示为 `相对路径:行号`
|
||
- 落文件(传了 logDir 时):
|
||
- `app-YYYY-MM-DD.log` 全级别
|
||
- `error-YYYY-MM-DD.log` 仅 Error 及以上
|
||
- 按天轮转(file-rotatelogs)
|
||
- `logger.StartLogCompressor(logDir, interval)`:后台协程周期压缩历史日志(每日 0:00-0:30 跳过窗口)
|
||
- `logger.CompressHistoryLogs(logDir)`:手动触发一次压缩
|
||
|
||
## 注意
|
||
|
||
初始化后请直接用 `logrus.Info` 等包级函数打日志,**不要**保存 `logrus.Logger` 实例调用,
|
||
否则 caller 文件位置信息会不准。
|