zoukankan      html  css  js  c++  java
  • Golang之beego读取配置信息,输出log模块

    1,准备好配置文件

    [server]
    listen_ip = "0.0.0.0"
    listen_port = 8888
    
    [logs]
    log_level=debug
    log_path=./logs/logagent.log
    
    [collect]
    log_path=D:projectlogslogagent.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:projectlogslogagent.log
    
    Process finished with exit code 0

    2,beego输出log文件日志

    main.go

    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文件

  • 相关阅读:
    docker pull配置代理方法
    docker配合ssh管道跨主机传输镜像
    Java面向对象详解
    云服务器的公网IP和内网IP的区别
    开启 kubectl 命令的自动补全功能
    Vue+Openlayers实现绘制线段并测量距离显示
    Vue+Openlayers+elradio实现切换地图显示
    koa使用swagger自动生成接口文档
    什么是低代码
    前后端统一接口的响应参数数据结构
  • 原文地址:https://www.cnblogs.com/pyyu/p/8376275.html
Copyright © 2011-2022 走看看