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.
47 lines
1.2 KiB
47 lines
1.2 KiB
package main
|
|
|
|
import (
|
|
"io"
|
|
"os"
|
|
"time"
|
|
|
|
"bkb-payment/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(io.MultiWriter(f, os.Stdout))
|
|
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"))
|
|
}
|
|
|