代码拉取完成,页面将自动刷新
package ServiceUtils
import (
"fmt"
"github.com/BurntSushi/toml"
)
var (
globalMetricManageSvc *MetricManageSvc
globalRedisConf *RedisConf
globalMongoConf *MongoConf
)
type RedisConf struct {
Ipaddr string `toml:"ipaddr"`
Port string `toml:"port"`
}
type MongoConf struct {
Username string `toml:"username"`
Password string `toml:"password"`
Ipaddr string `toml:"ipaddr"`
Port string `toml:"port"`
}
type MetricManageSvc struct {
ServiceManageEndpoints []string `toml:"endpoints"`
MetricManageIpAddr string `toml:"ipaddr"`
MetricManagePort string `toml:"port"`
}
func Load(projectRoot string) error {
MetricManageConfig := &MetricManageSvc{}
RedisConfig := &RedisConf{}
MongoConfig := &MongoConf{}
mc, err := MetricManageConfig.load(projectRoot)
if err != nil {
return err
}
rc, err := RedisConfig.load(projectRoot)
if err != nil {
return err
}
moc, err := MongoConfig.load(projectRoot)
if err != nil {
return err
}
globalMetricManageSvc = mc
globalRedisConf = rc
globalMongoConf = moc
return nil
}
func (e *MetricManageSvc) load(projectRoot string) (*MetricManageSvc, error) {
conf := struct {
MetricManageSvc MetricManageSvc `toml:"MetricManageSvc"`
}{}
_, err := toml.DecodeFile(fmt.Sprintf("%s/etc/ServiceCenter.toml", projectRoot), &conf)
if err != nil {
return nil, err
}
return &conf.MetricManageSvc, nil
}
func (r *RedisConf) load(projectRoot string) (*RedisConf, error) {
conf := struct {
RedisConf RedisConf `toml:"RedisConf"`
}{}
_, err := toml.DecodeFile(fmt.Sprintf("%s/etc/ServiceCenter.toml", projectRoot), &conf)
if err != nil {
return nil, err
}
return &conf.RedisConf, nil
}
func (m *MongoConf) load(projectRoot string) (*MongoConf, error) {
conf := struct {
MongoConf MongoConf `toml:"MongoConf"`
}{}
_, err := toml.DecodeFile(fmt.Sprintf("%s/etc/ServiceCenter.toml", projectRoot), &conf)
if err != nil {
return nil, err
}
return &conf.MongoConf, nil
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。