Golang之beego读取配置信息,输出log模块

发布时间:2019-11-20 16:03:59 阅读:982次
https://cloud.tencent.com/developer/article/1200547
1,准备好配置文件
[server]
listen_ip = "0.0.0.0"
listen_port = 8888
[logs]
log_level=debug
log_path=./logs/logagent.log
[collect]
log_path=D:\project\logs\logagent.log
topic=nginx_log
chan_size=100
通过golang读取配置文件
package main
import (
    "fmt"
    "github.com/astaxie/beego/config"
)
func main() {
    conf, err := config.NewConfig("ini", "D:/project/src/go_dev/day11/config/logagent.conf")
    if err != nil {
        fmt.Println("new config failed, err:", err)
        return
    }
    port ,err:= conf.Int("server::listen_port")
    if err != nil {
        fmt.Println("read server:port failed, err:", err)
        return
    }
    fmt.Println("port:", port)
    log_level := conf.String("logs::log_level")
    if len(log_level) == 0 {
        log_level = "debug"
    }
    fmt.Println("log_level:", log_level)
    log_path := conf.String("collect::log_path")
    fmt.Println("log_path:", log_path)
}
main.go运行结果
port: 8888
log_level: debug
log_path: D:\project\logs\logagent.log
Process finished with exit code 0

2,beego输出log文件日志

package main
import (
    "encoding/json"
    "fmt"
    "github.com/astaxie/beego/logs"
)
func main() {
    config := make(map[string]interface{})
    config["filename"] = "D:/project/src/go_dev/day11/logs/logcollect.log"
    config["level"] = logs.LevelDebug
    configStr, err := json.Marshal(config)
    if err != nil {
        fmt.Println("marshal failed,err:", err)
        return
    }
    logs.SetLogger(logs.AdapterFile, string(configStr))
    logs.Debug("this is a test,my name is %s", "stu01")
    logs.Trace("this is a trace,my name is %s", "stu02")
    logs.Warn("this is a warn,my name is %s", "stu03")

}

运行结果,生成log文件


如有问题,可以QQ搜索群1028468525加入群聊,欢迎一起研究技术

支付宝 微信

有疑问联系站长,请联系QQ:QQ咨询

转载请注明:Golang之beego读取配置信息,输出log模块 出自老鄢博客 | 欢迎分享