golang 使用zap结构化日志
结构化日志方便查询
package main
import (
"errors"
"go.uber.org/zap"
)
func main() {
// logger, err := zap.NewProduction()
logger, err := zap.NewDevelopment()
if err != nil {
panic(err.Error())
}
logger.Info("hello world", zap.String("user", "咪了个猫"), zap.Int("age", 666))
err = errors.New("我是一个错误")
logger.Error("报错啦", zap.Error(err), zap.String("xxx", "我是一个参数"))
logger.Info("hello world", zap.String("user", "咪了个猫"), zap.Error(err))
}
2020-09-22T16:51:33.156+0800 INFO xxx3/main.go:15 hello world {"user": "咪了个猫", "age": 666}
2020-09-22T16:51:33.156+0800 ERROR xxx3/main.go:18 报错啦 {"error": "我是一个错误", "xxx": "我是一个参数"}
main.main
/Users/wameidemao/Desktop/xxx3/main.go:18
runtime.main
/usr/local/go/src/runtime/proc.go:204
2020-09-22T16:51:33.156+0800 INFO xxx3/main.go:20 hello world {"user": "咪了个猫", "error": "我是一个错误"}