Go beegoconfig读取配置文件

Go beegoconfig读取配置文件,第1张

go语言使用beego/config模块读取配置文件

配置文件:conf.ini

// conf.ini

[logs]
log_level=debug
log_path=./logs/lagagent.log

[collect]
log_path=/home/work/nginx/access.log
topic=nginx_log

main.go

package main

import (
    "github.com/astaxie/beego/config"
    "errors"
)

var (
    appConf *Config
)

// log conf
type Config struct {
    logLevel string
    logPath string

    collectConf []CollectConf
}

// log collect
type CollectConf struct {
    logPath string
    topic string
}

func loadConf(confType, fileName string) (err error) {
    conf, err := conf.NewConfig(confType, fileName)
    if err != nil {
        fmt.Print("new config failed")    
        return
    }

    appConf = &Config{}
    appConf.logLevel = conf.String("logs::log_level")
    if len(appConf.logLevel) == 0 {
        appConf.logLevel = "debug"
    }

    appConf.logPath= conf.String("logs::log_path")
    if len(appConf.logPath) == 0 {
        appConf.logPath= "./logs"
    }

    err := loadCollectConf(conf)
    if err != nil {
        fmt.Printf("load collect conf failed!, err:%v\n", err)
        return
    }
    
    return
}

func loadCollectConf(conf config.Configer) (err error) {
    var cc CollectConf
    cc.logPath = conf.String("collect::log_path")
    if len(cc.logPath) == 0 {
        err = errors.New("invalid collect::log_path")
        return
    }

    cc.topic = conf.String("collect::topic")
    if len(cc.topic) == 0 {
        err = errors.New("invalid collect::topic")
        return
    }

    appConf.collectConf.append(appConf.collectConf, cc)  // 配置写入到Conf

    return

}

欢迎分享,转载请注明来源:内存溢出

原文地址:http://outofmemory.cn/langs/995128.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-21
下一篇2022-05-21

随机推荐

  • 美国亚利桑那大学金融硕士

    立思辰留学360介绍,亚利桑那大学(University of Arizona,缩写UA或U of A)成立于1885年,坐落于美国亚利桑那州的图森市,是为了高等教育和研究而设立的赠地大学及太空辅助公

    2022-07-05
    300
  • 新加坡东亚管理学院国际银行及金融课程学费

      新加坡东亚管理学院的课程全部采用符合英国高等教育质量保证署QAA的C.A.T.S.学分积累转移方案体制。被英国、美国、澳大利亚、新西兰等近30所优秀大学学历认可同时建立了紧密的合作,学生在第三年可

  • 博乐大学硕士学位

    博乐大学据立思辰留学360介绍,泰国博乐大学地处曼谷市中心地带,是一所具有40多年办学历史的综合大学,大学所在地曼谷是泰国的政治经济中心。在创办博乐大学之前,博乐大学的高层管理人员有着丰富的经验先后在

    2022-07-05
    300
  • 赫瑞瓦特大学历史发展情况是怎样的

    赫瑞瓦特大学(以下简称为瓦特大学)创办于1821年,前身为爱丁堡工学院,其创校历史之悠久在英国高等教育学院中排名第八。2012-2013年度被评为最佳苏格兰大学。2015年《卫报》英国大学综合排名为1

    2022-07-05
    000
  • 博乐大学学制

      【泰国博乐大学学制和开学时间】开学时间学制立思辰留学360介绍,博乐大学学制采取学分制,本科一年分2个学期,一般学生4年毕业;硕士一年分2学期,两年毕业。毕业后均发学位证书。*注:报名截止时间会根

    2022-07-05
    600
  • 泰国艺术大学如何申请

      泰国艺术大学立思辰留学360介绍,泰国艺术大学成立于1943年,是一所有着数十年历史的公立大学。该大学有三个校区,分布在曼谷、那空巴吞和碧武里。艺术大学下辖绘画、雕塑与平面艺术学院,建筑学院,考古

    2022-07-05
    000
  • 博乐大学对外泰语专业有什么优势

      立思辰留学360介绍,泰国博乐大学为对泰语学习感兴趣的外国学生专门开设了对外泰语专业(文学院学士)在对外泰语专业中不仅可以学习到初,中,高等泰语以外,还可以学到泰国传统风俗习惯及泰国文化(没有基础

    2022-07-05
    300
  • 美国麦克尼斯州立大学怎么样

    立思辰留学360介绍,麦克尼斯州立大学(McNesse State University)建立于1939年秋,经过多年的整编与扩充,目前已是一所综合性的公立大学,提供超过70种大学课程,可以颁发大学、

    2022-07-05
    300
  • 森特乐中学介绍

    优势课程立思辰留学360介绍,体育,艺术,音乐,唱诗班,戏剧 法语 学术特色项目SSS 建立了卓越的法语项目 提供高级布置项目 大量的学术项目学校设施立思辰留学360介绍,学术气氛浓郁的图书馆 配备三

发表评论

登录后才能评论

评论列表(0条)

    保存