分享一个日志系统

https://github.com/uber-go/zap

package main

import (
	"encoding/json"
	"log"

	"go.uber.org/zap"
	"go.uber.org/zap/zapcore"
)

func main() {
	rawJSON := []byte(`{
		"level": "debug",
		"encoding": "json",
		"outputPaths": ["stdout", "./log.txt"],
		"errorOutputPaths": ["stderr", "./err.txt"]
	  }`)
	var cfg zap.Config
	if err := json.Unmarshal(rawJSON, &cfg); err != nil {
		panic(err)
	}

	cfg.EncoderConfig = zap.NewProductionEncoderConfig()
	cfg.EncoderConfig.EncodeTime = zapcore.ISO8601TimeEncoder
	logger, err := cfg.Build()
	if err != nil {
		log.Fatal("init logger error: ", err)
	}
	defer logger.Sync()
	logger.Info("logger construction succeeded",
		zap.String("url", "http://example.com"),
		zap.Int("attempt", 3),
	)

}

猜你喜欢

转载自blog.csdn.net/Edu_enth/article/details/85235508