golang logrus
示例1: 输出json日志、日志按小时切割
func InitLog(path string) {
// LOG
Log = log.New()
/* 日志轮转相关函数
`WithLinkName` 为最新的日志建立软连接
`WithRotationTime` 设置日志分割的时间,隔多久分割一次
WithMaxAge 和 WithRotationCount二者只能设置一个
`WithMaxAge` 设置文件清理前的最长保存时间
`WithRotationCount` 设置文件清理前最多保存的个数
*/
// 下面配置日志每隔 1 分钟轮转一个新文件,保留最近 3 分钟的日志文件,多余的自动清理掉。
writer, _ := rotatelogs.New(
path+".%Y%m%d%H",
rotatelogs.WithLinkName(path),
rotatelogs.WithMaxAge(time.Duration(720)*time.Hour),
rotatelogs.WithRotationTime(time.Duration(24)*time.Hour),
)
Log.SetFormatter(&log.JSONFormatter{})
Log.SetOutput(writer)
}
示例2: 增加json数据的key
1. withfields
utils.Log.WithFields(logrus.Fields{
"name": "username",
"age": "age",
}).Infof("aaa")
2. withfield
utils.Log.WithField("name","username").WithField("age","age").Infof("aaa")
golang logrus