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