本文整理汇总了Golang中github.com/c4pt0r/cfg.NewCfg函数的典型用法代码示例。如果您正苦于以下问题:Golang NewCfg函数的具体用法?Golang NewCfg怎么用?Golang NewCfg使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewCfg函数的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: InitConfig
func InitConfig(path string) {
globalCfg = cfg.NewCfg(path)
err := globalCfg.Load()
if err != nil {
log.Fatal(err)
}
}
开发者ID:4T-Shirt,项目名称:tyrant,代码行数:7,代码来源:config.go
示例2: InitConfigFromFile
func InitConfigFromFile(filename string) (*cfg.Cfg, error) {
ret := cfg.NewCfg(filename)
if err := ret.Load(); err != nil {
return nil, errors.Trace(err)
}
return ret, nil
}
开发者ID:wfxiang08,项目名称:rpc_proxy,代码行数:7,代码来源:utils.go
示例3: LoadConf
func LoadConf(configFile string) (*Config, error) {
c := cfg.NewCfg(configFile)
if err := c.Load(); err != nil {
log.PanicErrorf(err, "load config '%s' failed", configFile)
}
conf := &Config{}
// 读取product
conf.ProductName, _ = c.ReadString("product", "test")
if len(conf.ProductName) == 0 {
log.Panicf("invalid config: product entry is missing in %s", configFile)
}
// 读取zk
conf.ZkAddr, _ = c.ReadString("zk", "")
if len(conf.ZkAddr) == 0 {
log.Panicf("invalid config: need zk entry is missing in %s", configFile)
}
conf.ZkAddr = strings.TrimSpace(conf.ZkAddr)
loadConfInt := func(entry string, defInt int) int {
v, _ := c.ReadInt(entry, defInt)
if v < 0 {
log.Panicf("invalid config: read %s = %d", entry, v)
}
return v
}
conf.ZkSessionTimeout = loadConfInt("zk_session_timeout", 30)
conf.Verbose = loadConfInt("verbose", 0) == 1
conf.Service, _ = c.ReadString("service", "")
conf.Service = strings.TrimSpace(conf.Service)
conf.FrontHost, _ = c.ReadString("front_host", "")
conf.FrontHost = strings.TrimSpace(conf.FrontHost)
conf.FrontPort, _ = c.ReadString("front_port", "")
conf.FrontPort = strings.TrimSpace(conf.FrontPort)
conf.FrontendAddr = conf.getFrontendAddr()
conf.IpPrefix, _ = c.ReadString("ip_prefix", "")
conf.IpPrefix = strings.TrimSpace(conf.IpPrefix)
conf.BackAddr, _ = c.ReadString("back_address", "")
conf.BackAddr = strings.TrimSpace(conf.BackAddr)
conf.ProxyAddr, _ = c.ReadString("proxy_address", "")
conf.ProxyAddr = strings.TrimSpace(conf.ProxyAddr)
profile, _ := c.ReadInt("profile", 0)
conf.Profile = profile == 1
return conf, nil
}
开发者ID:wfxiang08,项目名称:zero_rpc_proxy,代码行数:56,代码来源:config.go
示例4: InitConfig
func InitConfig() (*cfg.Cfg, error) {
configFile := os.Getenv("CODIS_CONF")
if len(configFile) == 0 {
configFile = "config.ini"
}
ret := cfg.NewCfg(configFile)
if err := ret.Load(); err != nil {
return nil, err
}
return ret, nil
}
开发者ID:ZuoGuocai,项目名称:codis,代码行数:11,代码来源:utils.go
示例5: LoadConf
func LoadConf(configFile string) (*Config, error) {
c := cfg.NewCfg(configFile)
if err := c.Load(); err != nil {
log.PanicErrorf(err, "load config '%s' failed", configFile)
}
conf := &Config{}
conf.productName, _ = c.ReadString("product", "test")
if len(conf.productName) == 0 {
log.Panicf("invalid config: product entry is missing in %s", configFile)
}
conf.dashboardAddr, _ = c.ReadString("dashboard_addr", "")
if conf.dashboardAddr == "" {
log.Panicf("invalid config: dashboard_addr is missing in %s", configFile)
}
conf.zkAddr, _ = c.ReadString("zk", "")
if len(conf.zkAddr) == 0 {
log.Panicf("invalid config: need zk entry is missing in %s", configFile)
}
conf.zkAddr = strings.TrimSpace(conf.zkAddr)
conf.passwd, _ = c.ReadString("password", "")
conf.proxyId, _ = c.ReadString("proxy_id", "")
if len(conf.proxyId) == 0 {
log.Panicf("invalid config: need proxy_id entry is missing in %s", configFile)
}
conf.proto, _ = c.ReadString("proto", "tcp")
conf.provider, _ = c.ReadString("coordinator", "zookeeper")
loadConfInt := func(entry string, defval int) int {
v, _ := c.ReadInt(entry, defval)
if v < 0 {
log.Panicf("invalid config: read %s = %d", entry, v)
}
return v
}
conf.pingPeriod = loadConfInt("backend_ping_period", 5)
conf.maxTimeout = loadConfInt("session_max_timeout", 1800)
conf.maxBufSize = loadConfInt("session_max_bufsize", 131072)
conf.maxPipeline = loadConfInt("session_max_pipeline", 1024)
conf.zkSessionTimeout = loadConfInt("zk_session_timeout", 30000)
if conf.zkSessionTimeout <= 100 {
conf.zkSessionTimeout *= 1000
log.Warn("zkSessionTimeout is to small, it is ms not second")
}
return conf, nil
}
开发者ID:CheneyWu,项目名称:codis,代码行数:49,代码来源:config.go
示例6: tryRunAsLeader
func tryRunAsLeader() {
config := cfg.NewCfg(*conf)
err := config.Load()
if err != nil {
log.Fatal(err)
}
zkaddr, err := config.ReadString("zk", "localhost:2181/tyrant")
log.Debug(zkaddr)
zkConn, _, err := zk.Connect(strings.Split(zkaddr, ","), 3*time.Second)
if err != nil {
log.Fatal(err)
}
leader := zkhelper.CreateElection(*zkConn, tyrant_zk_path)
task := &LeaderTask{}
leader.RunTask(task)
}
开发者ID:jackwanger,项目名称:tyrant,代码行数:17,代码来源:main.go
示例7: main
func main() {
c := make(chan os.Signal, 1)
signal.Notify(c, os.Interrupt)
signal.Notify(c, syscall.SIGTERM)
go func() {
<-c
if createdDashboardNode {
releaseDashboardNode()
}
log.Panicf("ctrl-c or SIGTERM found, exit")
}()
args, err := docopt.Parse(usage, nil, true, utils.Version, true)
if err != nil {
fmt.Println(err)
os.Exit(1)
}
// set output log file
if s, ok := args["-L"].(string); ok && s != "" {
f, err := os.OpenFile(s, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, 0666)
if err != nil {
log.PanicErrorf(err, "open log file failed: %s", s)
} else {
defer f.Close()
log.StdLog = log.New(f, "")
}
}
log.SetLevel(log.LEVEL_INFO)
log.SetFlags(log.Flags() | log.Lshortfile)
// set log level
if s, ok := args["--log-level"].(string); ok && s != "" {
setLogLevel(s)
}
// set config file
var configFile string
if args["-c"] != nil {
configFile = args["-c"].(string)
} else {
configFile = "config.ini"
}
config := cfg.NewCfg(configFile)
if err := config.Load(); err != nil {
log.PanicErrorf(err, "load config file error")
}
// load global vars
globalEnv = LoadCodisEnv(config)
cmd := args["<command>"].(string)
cmdArgs := args["<args>"].([]string)
go http.ListenAndServe(":10086", nil)
err = runCommand(cmd, cmdArgs)
if err != nil {
log.PanicErrorf(err, "run sub-command failed")
}
}
开发者ID:cougar731,项目名称:codis,代码行数:61,代码来源:main.go
示例8: LoadConf
func LoadConf(configFile string) (*Config, error) {
c := cfg.NewCfg(configFile)
if err := c.Load(); err != nil {
log.PanicErrorf(err, "load config '%s' failed", configFile)
}
conf := &Config{}
// 读取product
conf.ProductName, _ = c.ReadString("product", "test")
if len(conf.ProductName) == 0 {
log.Panicf("invalid config: product entry is missing in %s", configFile)
}
// 读取zk
conf.ZkAddr, _ = c.ReadString("zk", "")
if len(conf.ZkAddr) == 0 {
log.Panicf("invalid config: need zk entry is missing in %s", configFile)
}
conf.ZkAddr = strings.TrimSpace(conf.ZkAddr)
loadConfInt := func(entry string, defInt int) int {
v, _ := c.ReadInt(entry, defInt)
if v < 0 {
log.Panicf("invalid config: read %s = %d", entry, v)
}
return v
}
conf.ZkSessionTimeout = loadConfInt("zk_session_timeout", 30)
conf.Verbose = loadConfInt("verbose", 0) == 1
conf.Service, _ = c.ReadString("service", "")
conf.Service = strings.TrimSpace(conf.Service)
conf.FrontHost, _ = c.ReadString("front_host", "")
conf.FrontHost = strings.TrimSpace(conf.FrontHost)
conf.FrontPort, _ = c.ReadString("front_port", "")
conf.FrontPort = strings.TrimSpace(conf.FrontPort)
conf.FrontSock, _ = c.ReadString("front_sock", "")
conf.FrontSock = strings.TrimSpace(conf.FrontSock)
// 配置文件中使用的是相对路径,在注册到zk时,需要还原成为绝对路径
if len(conf.FrontSock) > 0 {
dir, _ := os.Getwd()
conf.FrontSock = path.Clean(path.Join(dir, conf.FrontSock))
}
conf.IpPrefix, _ = c.ReadString("ip_prefix", "")
conf.IpPrefix = strings.TrimSpace(conf.IpPrefix)
// 注意先后顺序:
// FrontHost, FrontPort, IpPrefix之后才能计算FrontendAddr
conf.FrontendAddr = conf.getFrontendAddr(conf.FrontHost, conf.IpPrefix, conf.FrontPort)
conf.BackAddr, _ = c.ReadString("back_address", "")
conf.BackAddr = strings.TrimSpace(conf.BackAddr)
conf.ProxyAddr, _ = c.ReadString("proxy_address", "")
conf.ProxyAddr = strings.TrimSpace(conf.ProxyAddr)
conf.FalconClient, _ = c.ReadString("falcon_client", "")
profile, _ := c.ReadInt("profile", 0)
conf.Profile = profile == 1
return conf, nil
}
开发者ID:wfxiang08,项目名称:rpc_proxy,代码行数:68,代码来源:config.go
注:本文中的github.com/c4pt0r/cfg.NewCfg函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论