You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
1.1 KiB

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"))
}