一个基于 logrus的Golang日志扩展工具.
- 按日志级别分别输出到不同的日志文件
- 按时间自动切割文件,默认按天
- 多进程记录同一份日志的时候保证切割安全
- 自动清理过期日志(30天)
- 支持Yaml配置初始化
配置参考test.yaml
directory: "./logs"
filename: "test"
level: "info"
# 不配置的情况下按天切割
rotate: d
- Tab分隔的key=value格式
- 统一 log_time、Host、error、message
参考main.go
package main
import (
	"errors"
	"time"
	"github.com/plusplus1/logrus-extension"
	"github.com/sirupsen/logrus"
)
func main() {
	logrus_extension.InitFileHook("test.yaml")  
	// 打印日志到test
	for {
		fields := logrus.Fields{
			"a":     1,
			"b":     "b",
			"e":     errors.New("test error"),
			"c":     "ccc\nccc\tddd",
			"d":     "\tabcd",
			"zh_CN": "中文字符",
		}
		logrus.WithFields(fields).Info("message")
		logrus.WithFields(fields).Debug("message")
		logrus.WithFields(fields).Warn("message")
		logrus.WithFields(fields).Error("message")
		time.Sleep(100 * time.Millisecond)
	}
}
