一、读取配置文件
1、默认路径下读取
场景一、
如下读到的是manifest/config/config.yaml文件,支持热更改
方法1:
ctx := gctx.New()
v, err := g.Cfg().Get(ctx, "server.address")
fmt.Println(v.String(), err)
方法2:
ctx := gctx.New()
val, err := gcfg.Instance().Get(ctx, "server.address")
s := val.String()
2、读取manifest/config/目录下指定文件(如test.yaml、sub.yaml),且支持热更新
方法1:
v, err := g.Cfg("test").Get(ctx, "server.address")
fmt.Println(v.String(), err)
方法2:
val, errr := gcfg.Instance("sub").Get(ctx, "server.address")
s = val.String()
3、读取任意目录下任意文件(如manifest/config/ttt/目录下sub.yaml),且支持热更新
方法1:
ctx := gctx.New()
adapter, e := gcfg.NewAdapterFile("sub")
if e != nil {
fmt.Println(e.Error())
return
}
e = adapter.AddPath("manifest/config/ttt/")
if e != nil {
fmt.Println("e:", e.Error())
return
}
fmt.Println(adapter.Get(ctx, "server.address"))
方法2:
gcfg.Instance("sub").GetAdapter().(*gcfg.AdapterFile).AddPath("manifest/config/ttt/")
fmt.Println(g.Cfg("sub").Get(ctx, "server.address"))
方法3:
g.Cfg("sub").GetAdapter().(*gcfg.AdapterFile).AddPath("manifest/config/ttt/")
fmt.Println(g.Cfg("sub").Get(ctx, "server.address"))
方法4:
ctx := gctx.New()
gins.Config().GetAdapter().(*gcfg.AdapterFile).SetFileName("z")
gins.Config().GetAdapter().(*gcfg.AdapterFile).AddPath("manifest/config/zzz")
fmt.Println(g.Cfg().Get(ctx, "name.item"))