From fc773af60065b76cd8193635d7177a0c06233b01 Mon Sep 17 00:00:00 2001 From: Wangjunqi123 Date: Tue, 10 Oct 2023 13:55:26 +0800 Subject: [PATCH] redirect logger output to file --- .gitignore | 3 ++- conf/config_agent.yaml.templete | 2 +- conf/config_server.yaml.templete | 2 +- server/agentmanager/topoclient.go | 17 +++++++++++++++-- server/collector/collector.go | 4 ++-- 5 files changed, 21 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 8f0598e..6ff86d1 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ agent/vendor/ server/vendor/ build web/node_modules -web/dist/ \ No newline at end of file +web/dist/ +src-openeuler/ \ No newline at end of file diff --git a/conf/config_agent.yaml.templete b/conf/config_agent.yaml.templete index 866e287..f5bc5c9 100644 --- a/conf/config_agent.yaml.templete +++ b/conf/config_agent.yaml.templete @@ -6,6 +6,6 @@ PilotGo: log: level: debug driver: file # 可选stdout和file。stdout:输出到终端控制台;file:输出到path下的指定文件。 - path: /var/log/PilotGo/plugin/PilotGo-plugin-topology-agent.log + path: /var/log/PilotGo/PilotGo-plugin-topology-agent.log max_file: 1 max_size: 10485760 diff --git a/conf/config_server.yaml.templete b/conf/config_server.yaml.templete index 6fd87b0..99b14f8 100644 --- a/conf/config_server.yaml.templete +++ b/conf/config_server.yaml.templete @@ -7,7 +7,7 @@ PilotGo: log: level: debug driver: file # 可选stdout和file。stdout:输出到终端控制台;file:输出到path下的指定文件。 - path: /var/log/PilotGo/plugin/PilotGo-plugin-topology-server.log + path: /var/log/PilotGo/PilotGo-plugin-topology-server.log max_file: 1 max_size: 10485760 arangodb: diff --git a/server/agentmanager/topoclient.go b/server/agentmanager/topoclient.go index d6bb458..353da95 100644 --- a/server/agentmanager/topoclient.go +++ b/server/agentmanager/topoclient.go @@ -4,6 +4,7 @@ import ( "encoding/json" "flag" "fmt" + "io" "os" "strings" "sync" @@ -24,6 +25,7 @@ type Topoclient struct { AgentMap sync.Map ErrGroup *sync.WaitGroup ErrCh chan error + Out io.Writer } func (t *Topoclient) InitMachineList() { @@ -161,6 +163,17 @@ func (t *Topoclient) InitJanusGraph() { } func (t *Topoclient) InitErrorControl(errch <-chan error, errgroup *sync.WaitGroup) { + switch conf.Global_config.Logopts.Driver { + case "stdout": + t.Out = os.Stdout + case "file": + logfile, err := os.OpenFile(conf.Global_config.Logopts.Path, os.O_WRONLY|os.O_CREATE, 0666) + if err != nil { + panic(err) + } + t.Out = logfile + } + go func(ch <-chan error, group *sync.WaitGroup) { for { err, ok := <-errch @@ -172,10 +185,10 @@ func (t *Topoclient) InitErrorControl(errch <-chan error, errgroup *sync.WaitGro errarr := strings.Split(err.Error(), "**") switch errarr[1] { case "warn": - fmt.Printf("%+v\n", err) + fmt.Fprintf(t.Out, "%+v\n", err) // errors.EORE(err) case "fatal": - fmt.Printf("%+v\n", err) + fmt.Fprintf(t.Out, "%+v\n", err) // errors.EORE(err) errgroup.Done() default: diff --git a/server/collector/collector.go b/server/collector/collector.go index 45c0dc3..5c9f848 100644 --- a/server/collector/collector.go +++ b/server/collector/collector.go @@ -2,13 +2,13 @@ package collector import ( "encoding/json" + "fmt" "sync" "time" "gitee.com/openeuler/PilotGo-plugin-topology-server/agentmanager" "gitee.com/openeuler/PilotGo-plugin-topology-server/conf" "gitee.com/openeuler/PilotGo-plugin-topology-server/meta" - "gitee.com/openeuler/PilotGo/sdk/logger" "gitee.com/openeuler/PilotGo/sdk/utils/httputils" "github.com/mitchellh/mapstructure" "github.com/pkg/errors" @@ -47,7 +47,7 @@ func (d *DataCollector) Collect_instant_data() []error { wg.Wait() elapse := time.Since(start) - logger.Debug("\033[32mtopo server 采集数据获取时间\033[0m: %v\n", elapse) + fmt.Fprintf(agentmanager.Topo.Out, "\033[32mtopo server 采集数据获取时间\033[0m: %v\n", elapse) if len(errorlist) != 0 { return errorlist -- Gitee