package main import ( "os" "time" "bkb-order/internal/server" cn "github.com/go-kratos/kratos/contrib/config/nacos/v2" "github.com/go-kratos/kratos/v2/config" "github.com/go-kratos/kratos/v2/log" "github.com/nacos-group/nacos-sdk-go/clients" "go.uber.org/zap" "go.uber.org/zap/zapcore" ) func newZapLogger() *zap.Logger { dir := "./log" if err := os.MkdirAll(dir, os.ModePerm); err != nil { panic(err) } f, err := os.OpenFile(dir+"/access.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, os.ModePerm) if err != nil { panic(err) } writeSyncer := zapcore.AddSync(f) cfg := zap.NewProductionEncoderConfig() cfg.EncodeTime = func(t time.Time, enc zapcore.PrimitiveArrayEncoder) { enc.AppendString(t.Format("2006-01-02 15:04:05.000")) } encoder := zapcore.NewJSONEncoder(cfg) core := zapcore.NewCore(encoder, writeSyncer, zapcore.DebugLevel) return zap.New(core) } func NewNacosConfig(name, env string) config.Source { param := server.NewNacosClient(env) client, err := clients.NewConfigClient( param, ) if err != nil { log.Fatal(err) } return cn.NewConfigSource(client, cn.WithGroup(name), cn.WithDataID(name+"-"+env+".yaml")) }