孟令鑫 1 år sedan
förälder
incheckning
fc0464aa4a

+ 6 - 3
aarch64/plugin-compile/main/main.go

@@ -6,10 +6,12 @@ import (
 	"cicv-data-closedloop/aarch64/plugin-compile/package/handler/h_compile_plugin"
 	"cicv-data-closedloop/common/config/c_log"
 	"cicv-data-closedloop/common/handler/h_validate_request_header"
-	"fmt"
 	"net/http"
+	"os"
 )
 
+const servicePort = "12340"
+
 func init() {
 	// 初始化日志配置
 	c_log.InitLog("plugin-compile")
@@ -20,8 +22,9 @@ func init() {
 func main() {
 	mux := http.NewServeMux()
 	mux.Handle("/compile", h_validate_request_header.HeaderValidationMiddleware(&h_compile_plugin.CompileHandler{}))
-	err := http.ListenAndServe(":12340", mux)
+	err := http.ListenAndServe(":"+servicePort, mux)
 	if err != nil {
-		fmt.Println("Error:", err)
+		c_log.GlobalLogger.Error("程序崩溃监听端口 " + servicePort + " 失败。")
+		os.Exit(-1)
 	}
 }

+ 0 - 7
aarch64/plugin-compile/package/handler/h_compile_plugin/compile_plugin.go

@@ -33,13 +33,6 @@ func (h *CompileHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
 
 	// 1 校验参数
 	queryParams := r.URL.Query()
-	//deviceType := queryParams.Get("deviceType")
-	//if deviceType == "" {
-	//	c_log.GlobalLogger.Error("参数 deviceType 不能为空。")
-	//	result, _ := json.Marshal(entity.HttpResult{Status: false, Code: "1003", Message: "参数 deviceType 不能为空。"})
-	//	_, _ = fmt.Fprintf(w, string(result))
-	//	return
-	//}
 	goObjectKey := queryParams.Get("goObjectKey")
 	if goObjectKey == "" {
 		c_log.GlobalLogger.Error("参数 goObjectKey 不能为空。")

+ 67 - 0
amd64/topic-filter/package/handler/h_rosbag_filter/rosbag_filter.go

@@ -0,0 +1,67 @@
+package h_rosbag_filter
+
+import (
+	"cicv-data-closedloop/common/config/c_log"
+	"cicv-data-closedloop/common/entity"
+	"encoding/json"
+	"fmt"
+	"net/http"
+)
+
+var (
+	deviceMap = map[string]Device{
+		"1": {Name: "金龙车", CodePath: "/root/rosbag-handle-kinglong/", CompileCmd: "CGO_ENABLED=1 CC=aarch64-linux-gnu-gcc GOARCH=arm64 go build --buildmode=plugin -o /root/rosbag-handle-kinglong/plugin/memoveroccupied.so /root/rosbag-handle-kinglong//plugin/sys_info/memoveroccupied/main/memoveroccupied.go"},
+		"2": {Name: "朴津机器人", CodePath: "/root/rosbag-handle-pji/", CompileCmd: "CGO_ENABLED=1 CC=aarch64-linux-gnu-gcc GOARCH=arm64 go build --buildmode=plugin -o /root/rosbag-handle-kinglong/plugin/memoveroccupied.so /root/rosbag-handle-kinglong//plugin/sys_info/memoveroccupied/main/memoveroccupied.go"},
+	}
+	vaildateCmd = "/root/vaildatePlugin.exe"
+)
+
+// Device 设备
+type Device struct {
+	Name       string
+	CodePath   string
+	CompileCmd string
+}
+
+// FilterHandler implements http.Handler
+type FilterHandler struct{}
+
+func (h *FilterHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
+	//
+	// 1 校验参数
+	queryParams := r.URL.Query()
+	deviceType := queryParams.Get("deviceType")
+	if deviceType == "" {
+		result, _ := json.Marshal(entity.HttpResult{Status: false, Code: "1003", Message: "参数 deviceType 不能为空。"})
+		_, _ = fmt.Fprintf(w, string(result))
+		return
+	}
+	goObjectKey := queryParams.Get("goObjectKey")
+	if goObjectKey == "" {
+		result, _ := json.Marshal(entity.HttpResult{Status: false, Code: "1003", Message: "参数 goObjectKey 不能为空。"})
+		_, _ = fmt.Fprintf(w, string(result))
+		return
+	}
+	soObjectKey := queryParams.Get("soObjectKey")
+	if soObjectKey == "" {
+		result, _ := json.Marshal(entity.HttpResult{Status: false, Code: "1003", Message: "参数 soObjectKey 不能为空。"})
+		_, _ = fmt.Fprintf(w, string(result))
+		return
+	}
+	c_log.GlobalLogger.Infof("接收到参数【deviceType】=%v,【goObjectKey】=%v,【soObjectKey】=%v", deviceType, goObjectKey, soObjectKey)
+
+	// 2 从 oss 上下载 go 文件
+	//device := deviceMap[deviceType]
+	//codePath := device.CodePath
+	//
+	//// 3 编译 go 文件
+	//compileCmd := device.CompileCmd
+
+	// 4 校验插件是否能用
+
+	// 5 如果插件能用,直接上传,并删除本地插件文件
+
+	// 通过fmt.Fprintf返回数据
+	result, _ := json.Marshal(entity.HttpResult{Status: true, Code: "2000", Message: "编译成功。"})
+	_, _ = fmt.Fprintf(w, string(result))
+}

+ 0 - 4
pji/common/init/common_init.go

@@ -2,15 +2,11 @@ package init
 
 import (
 	"cicv-data-closedloop/pji/common/cfg"
-	"cicv-data-closedloop/pji/common/log"
 	"cicv-data-closedloop/pji/common/svc"
 )
 
 func Init() {
 
-	// 初始化日志配置
-	log.InitLogConfig()
-
 	// 初始化本地配置文件(第1处配置,在本地文件)
 	cfg.InitLocalConfig()
 

+ 0 - 40
pji/common/log/log_cfg.go

@@ -1,40 +0,0 @@
-package log
-
-import (
-	"fmt"
-	"github.com/sirupsen/logrus"
-	"os"
-	"path/filepath"
-	"runtime"
-	"time"
-)
-
-var (
-	logDir        = "/root/rosbag-handle/"
-	programPrefix = "program-"
-	GlobalLogger  *logrus.Logger
-)
-
-func InitLogConfig() {
-	initGlobalLogger()
-}
-
-// initGlobalLogger 初始化日志配置
-func initGlobalLogger() {
-	time.Sleep(time.Duration(1) * time.Second)
-	// 创建、追加、读写,777,所有权限
-	f, err := os.OpenFile(logDir+programPrefix+time.Now().Format("2006-01-02-15-04-05")+".log", os.O_CREATE|os.O_APPEND|os.O_RDWR, os.ModePerm)
-	if err != nil {
-		os.Exit(-1)
-	} else {
-		GlobalLogger = logrus.New()
-		GlobalLogger.SetOutput(f)
-		GlobalLogger.SetReportCaller(true)
-		GlobalLogger.SetFormatter(&logrus.JSONFormatter{
-			CallerPrettyfier: func(frame *runtime.Frame) (string, string) {
-				return "", fmt.Sprintf("%s:%d", filepath.Base(frame.File), frame.Line)
-			},
-		})
-		GlobalLogger.Info("初始化GlobalLogger - 成功")
-	}
-}

+ 13 - 13
pji/common/svc/rosbag_record.go

@@ -1,9 +1,9 @@
 package svc
 
 import (
+	"cicv-data-closedloop/common/config/c_log"
 	"cicv-data-closedloop/pji/common/cfg"
 	"cicv-data-closedloop/pji/common/cutil"
-	"cicv-data-closedloop/pji/common/log"
 	"cicv-data-closedloop/pji/common/util"
 	"github.com/bluenviron/goroslib/v2"
 	"os"
@@ -13,15 +13,15 @@ import (
 
 // BagRecord 打包rosbag
 func BagRecord(nodeName string) {
-	log.GlobalLogger.Info("rosbag record goroutine - 启动")
+	c_log.GlobalLogger.Info("rosbag record goroutine - 启动")
 	for {
-		log.GlobalLogger.Info("校验必需的 rosnode 是否全部启动。")
+		c_log.GlobalLogger.Info("校验必需的 rosnode 是否全部启动。")
 		canRecord := false
 		for !canRecord {
 			time.Sleep(time.Duration(2) * time.Second)
 			canRecord = isCanRecord(cfg.RosNode)
 		}
-		log.GlobalLogger.Info("rosnode 启动完成,正在启动 rosbag record 命令。")
+		c_log.GlobalLogger.Info("rosnode 启动完成,正在启动 rosbag record 命令。")
 
 		var command []string
 		command = append(command, "record")
@@ -41,37 +41,37 @@ func BagRecord(nodeName string) {
 		cutil.CreateParentDir(cfg.CloudConfig.BagDataDir)
 		cmd, err := util.ExecuteWithPath(cfg.CloudConfig.BagDataDir, "rosbag", command...)
 		if err != nil {
-			log.GlobalLogger.Error("执行record命令", command, "出错:", err)
+			c_log.GlobalLogger.Error("执行record命令", command, "出错:", err)
 			continue
 		}
-		log.GlobalLogger.Info("启动record命令成功。")
+		c_log.GlobalLogger.Info("启动record命令成功。")
 		recordProcessPid := strconv.Itoa(cmd.Process.Pid)
 		var recordSubProcessPid string
 		for {
 			time.Sleep(time.Duration(2) * time.Second)
 			recordSubProcessPid, err = util.GetSubProcessPid(recordProcessPid)
 			if err != nil {
-				log.GlobalLogger.Info("正在等待获取进程 ", recordProcessPid, " 的子进程的pid。")
+				c_log.GlobalLogger.Info("正在等待获取进程 ", recordProcessPid, " 的子进程的pid。")
 				continue
 			}
 			if recordSubProcessPid != "" {
-				log.GlobalLogger.Info("获取进程 ", recordProcessPid, " 的子进程的pid:", recordSubProcessPid)
+				c_log.GlobalLogger.Info("获取进程 ", recordProcessPid, " 的子进程的pid:", recordSubProcessPid)
 				break
 			}
 		}
 		// 等待自杀信号
-		log.GlobalLogger.Info("rosbag record goroutine - 等待自杀信号")
+		c_log.GlobalLogger.Info("rosbag record goroutine - 等待自杀信号")
 		select {
 		case signal := <-ChannelKillRosRecord:
 			if signal == 1 {
 				err = cmd.Process.Kill()
 				if err != nil {
-					log.GlobalLogger.Error("程序崩溃,杀死record命令进程", recordProcessPid, "出错:", err)
+					c_log.GlobalLogger.Error("程序崩溃,杀死record命令进程", recordProcessPid, "出错:", err)
 					os.Exit(-1)
 				}
 				err = util.KillProcessByPID(recordSubProcessPid)
 				if err != nil {
-					log.GlobalLogger.Error("程序崩溃,杀死record命令子进程", recordSubProcessPid, "出错:", err)
+					c_log.GlobalLogger.Error("程序崩溃,杀死record命令子进程", recordSubProcessPid, "出错:", err)
 					os.Exit(-1)
 				}
 				AddKillTimes("1")
@@ -102,7 +102,7 @@ func isCanRecord(n *goroslib.Node) bool {
 	// 获取
 	nodes, err := n.MasterGetNodes()
 	if err != nil {
-		log.GlobalLogger.Error("获取rosnode出错:", err)
+		c_log.GlobalLogger.Error("获取rosnode出错:", err)
 		return false
 	}
 	// 创建一个示例的map
@@ -113,7 +113,7 @@ func isCanRecord(n *goroslib.Node) bool {
 	// 判断map的键是否包含切片中的所有元素
 	for _, element := range mySlice {
 		if _, ok := myMap[element]; !ok {
-			log.GlobalLogger.Info("------- rosnode:", element, " 未启动,需等待启动后才可启动record。 -------")
+			c_log.GlobalLogger.Info("------- rosnode:", element, " 未启动,需等待启动后才可启动record。 -------")
 			return false
 		}
 	}

+ 8 - 8
pji/control/main/control.go

@@ -1,8 +1,8 @@
 package main
 
 import (
+	"cicv-data-closedloop/common/config/c_log"
 	commonConfig "cicv-data-closedloop/pji/common/cfg"
-	"cicv-data-closedloop/pji/common/log"
 	commonService "cicv-data-closedloop/pji/common/svc"
 	controlConfig "cicv-data-closedloop/pji/control/pkg/cfg"
 	"runtime"
@@ -12,7 +12,7 @@ import (
 func init() {
 	runtime.GOMAXPROCS(1)
 	// 初始化日志配置
-	log.InitLogConfig()
+	c_log.InitLog("pji-control")
 	// 初始化本地配置文件(第1处配置,在本地文件)
 	commonConfig.InitLocalConfig()
 	// 初始化Oss连接信息
@@ -34,37 +34,37 @@ func main() {
 		// 1 获取当前设备的任务的 status
 		status, err := commonConfig.GetStatus(commonConfig.PlatformConfig.TaskConfigId)
 		if err != nil {
-			log.GlobalLogger.Error("获取配置status失败:", err)
+			c_log.GlobalLogger.Error("获取配置status失败:", err)
 			continue
 		}
 		// 2 判断 status
 		// UN_CHANGE 没有新的任务,无需更改
 		// CHANGE 有新的任务,需要杀死旧的任务并重启
 		// NONE 设备没有配置任务,需要杀死旧的任务
-		log.GlobalLogger.Info("当前任务状态为【status】=", status)
+		c_log.GlobalLogger.Info("当前任务状态为【status】=", status)
 		if status == "UN_CHANGE" {
 			continue
 		} else if status == "CHANGE" || status == "NONE" {
 			// 3 发送rpc信号杀死采集程序
 			var masterArgs *commonService.KillSignal
 			if status == "CHANGE" {
-				log.GlobalLogger.Info("更新任务,发送rpc重启信号。")
+				c_log.GlobalLogger.Info("更新任务,发送rpc重启信号。")
 				masterArgs = &commonService.KillSignal{NodeName: "master", DropUploadData: commonConfig.PlatformConfig.DropUploadData, Restart: true}
 			}
 			if status == "NONE" {
-				log.GlobalLogger.Info("杀死任务,发送rpc结束信号。")
+				c_log.GlobalLogger.Info("杀死任务,发送rpc结束信号。")
 				masterArgs = &commonService.KillSignal{NodeName: "master", DropUploadData: commonConfig.PlatformConfig.DropUploadData, Restart: false}
 			}
 			var reply int
 			err = controlConfig.KillRpcClient.Call("KillService.Kill", masterArgs, &reply)
 			if err != nil {
-				log.GlobalLogger.Error("发送rpc请求到master失败:", err)
+				c_log.GlobalLogger.Error("发送rpc请求到master失败:", err)
 				continue
 			}
 			// 获取一下最新配置
 			commonConfig.InitPlatformConfig()
 		} else {
-			log.GlobalLogger.Error("未知的采集任务状态。status=", status)
+			c_log.GlobalLogger.Error("未知的采集任务状态。status=", status)
 		}
 	}
 

+ 2 - 2
pji/control/pkg/cfg/control_rpc_client.go

@@ -1,8 +1,8 @@
 package cfg
 
 import (
+	"cicv-data-closedloop/common/config/c_log"
 	"cicv-data-closedloop/pji/common/cfg"
-	"cicv-data-closedloop/pji/common/log"
 	"net/rpc"
 	"os"
 )
@@ -13,7 +13,7 @@ func InitRpcClient() {
 	var err error
 	KillRpcClient, err = rpc.Dial("tcp", cfg.CloudConfig.Hosts[0].Ip+":"+cfg.CloudConfig.RpcPort)
 	if err != nil {
-		log.GlobalLogger.Error("创建rpc连接master失败,程序退出:", err)
+		c_log.GlobalLogger.Error("创建rpc连接master失败,程序退出:", err)
 		os.Exit(-1)
 	}
 }

+ 1 - 1
pji/control/pkg/cfg/nacos_config.go

@@ -1,7 +1,7 @@
 package cfg
 
 import (
-	"cicv-data-closedloop/plugin-compile/package/config/c_log"
+	"cicv-data-closedloop/common/config/c_log"
 	"fmt"
 	"github.com/nacos-group/nacos-sdk-go/v2/clients"
 	"github.com/nacos-group/nacos-sdk-go/v2/clients/naming_client"

+ 3 - 0
pji/master/main/master.go

@@ -1,6 +1,7 @@
 package main
 
 import (
+	"cicv-data-closedloop/common/config/c_log"
 	commonConfig "cicv-data-closedloop/pji/common/cfg"
 	commonInit "cicv-data-closedloop/pji/common/init"
 	commonService "cicv-data-closedloop/pji/common/svc"
@@ -12,6 +13,8 @@ import (
 
 func init() {
 	runtime.GOMAXPROCS(1)
+	// 初始化日志配置
+	c_log.InitLog("pji-master")
 	commonInit.Init()
 	masterConfig.InitTriggerConfig()
 	commonConfig.InitKillSignalListener(commonConfig.CloudConfig.Hosts[0].Ip)

+ 18 - 18
pji/master/pkg/cfg/master_trigger_cfg.go

@@ -1,9 +1,9 @@
 package cfg
 
 import (
+	"cicv-data-closedloop/common/config/c_log"
 	"cicv-data-closedloop/pji/common/cfg"
 	"cicv-data-closedloop/pji/common/cutil"
-	"cicv-data-closedloop/pji/common/log"
 	"cicv-data-closedloop/pji_msgs"
 	"github.com/bluenviron/goroslib/v2/pkg/msgs/diagnostic_msgs"
 	"github.com/bluenviron/goroslib/v2/pkg/msgs/nav_msgs"
@@ -39,93 +39,93 @@ func InitTriggerConfig() {
 		// 下载
 		triggerLocalPath := cfg.CloudConfig.TriggersDir + fileName
 		cutil.CreateParentDir(triggerLocalPath)
-		log.GlobalLogger.Info("下载触发器插件从", trigger.TriggerScriptPath, "到", triggerLocalPath)
+		c_log.GlobalLogger.Info("下载触发器插件从", trigger.TriggerScriptPath, "到", triggerLocalPath)
 		err := cfg.OssBucket.GetObjectToFile(trigger.TriggerScriptPath, triggerLocalPath)
 		if err != nil {
-			log.GlobalLogger.Error("下载oss上的触发器插件失败:", err)
+			c_log.GlobalLogger.Error("下载oss上的触发器插件失败:", err)
 			continue
 		}
 		// 载入插件到数组
 		open, err := plugin.Open(triggerLocalPath)
 		if err != nil {
-			log.GlobalLogger.Error("加载本地插件", triggerLocalPath, "失败。", err)
+			c_log.GlobalLogger.Error("加载本地插件", triggerLocalPath, "失败。", err)
 		}
 		topic0, err := open.Lookup("Topic")
 		if err != nil {
-			log.GlobalLogger.Error("加载本地插件", triggerLocalPath, "中的Topic方法失败。", err)
+			c_log.GlobalLogger.Error("加载本地插件", triggerLocalPath, "中的Topic方法失败。", err)
 			continue
 		}
 		topic1, ok := topic0.(func() string)
 		if ok != true {
-			log.GlobalLogger.Error("插件", triggerLocalPath, "中的Topic方法必须是(func() string):", err)
+			c_log.GlobalLogger.Error("插件", triggerLocalPath, "中的Topic方法必须是(func() string):", err)
 			continue
 		}
 		topic2 := topic1()
 		rule, err := open.Lookup("Rule")
 		if err != nil {
-			log.GlobalLogger.Error("加载本地插件", triggerLocalPath, "中的Rule方法失败。", err)
+			c_log.GlobalLogger.Error("加载本地插件", triggerLocalPath, "中的Rule方法失败。", err)
 			continue
 		}
 		if TopicOfOdom == topic2 {
 			f, ok := rule.(func(data *nav_msgs.Odometry) string)
 			if ok != true {
-				log.GlobalLogger.Error("插件", triggerLocalPath, "中的Topic方法必须是(func(data *nav_msgs.Odometry) string):", err)
+				c_log.GlobalLogger.Error("插件", triggerLocalPath, "中的Topic方法必须是(func(data *nav_msgs.Odometry) string):", err)
 				continue
 			}
 			RuleOfOdom = append(RuleOfOdom, f)
 		} else if TopicOfObstacleDetection == topic2 {
 			f, ok := rule.(func(data *std_msgs.UInt8) string)
 			if ok != true {
-				log.GlobalLogger.Error("插件", triggerLocalPath, "中的Topic方法必须是(func(data *std_msgs.UInt8) string):", err)
+				c_log.GlobalLogger.Error("插件", triggerLocalPath, "中的Topic方法必须是(func(data *std_msgs.UInt8) string):", err)
 				continue
 			}
 			RuleOfObstacleDetection = append(RuleOfObstacleDetection, f)
 		} else if TopicOfSysInfo == topic2 {
 			f, ok := rule.(func(data *pji_msgs.SysInfo) string)
 			if ok != true {
-				log.GlobalLogger.Error("插件", triggerLocalPath, "中的Topic方法必须是(func(data *pji_msgs.SysInfo) string):", err)
+				c_log.GlobalLogger.Error("插件", triggerLocalPath, "中的Topic方法必须是(func(data *pji_msgs.SysInfo) string):", err)
 				continue
 			}
 			RuleOfSysInfo = append(RuleOfSysInfo, f)
 		} else if TopicOfLocateInfo == topic2 {
 			f, ok := rule.(func(data *pji_msgs.LocateInfo) string)
 			if ok != true {
-				log.GlobalLogger.Error("插件", triggerLocalPath, "中的Topic方法必须是(func(data *pji_msgs.LocateInfo) string):", err)
+				c_log.GlobalLogger.Error("插件", triggerLocalPath, "中的Topic方法必须是(func(data *pji_msgs.LocateInfo) string):", err)
 				continue
 			}
 			RuleOfLocateInfo = append(RuleOfLocateInfo, f)
 		} else if TopicOfImu == topic2 {
 			f, ok := rule.(func(data *sensor_msgs.Imu) string)
 			if ok != true {
-				log.GlobalLogger.Error("插件", triggerLocalPath, "中的Topic方法必须是(func(data *sensor_msgs.Imu) string):", err)
+				c_log.GlobalLogger.Error("插件", triggerLocalPath, "中的Topic方法必须是(func(data *sensor_msgs.Imu) string):", err)
 				continue
 			}
 			RuleOfImu = append(RuleOfImu, f)
 		} else if TopicOfDiagnostics == topic2 {
 			f, ok := rule.(func(data *diagnostic_msgs.DiagnosticArray) string)
 			if ok != true {
-				log.GlobalLogger.Error("插件", triggerLocalPath, "中的Topic方法必须是(func(data *diagnostic_msgs.DiagnosticArray) string):", err)
+				c_log.GlobalLogger.Error("插件", triggerLocalPath, "中的Topic方法必须是(func(data *diagnostic_msgs.DiagnosticArray) string):", err)
 				continue
 			}
 			RuleOfDiagnostics = append(RuleOfDiagnostics, f)
 		} else {
-			log.GlobalLogger.Error("未知的topic:", topic2)
+			c_log.GlobalLogger.Error("未知的topic:", topic2)
 			continue
 		}
 
 		label, err := open.Lookup("Label")
 		if err != nil {
-			log.GlobalLogger.Error("加载本地插件", triggerLocalPath, "中的TriggerName方法失败。", err)
+			c_log.GlobalLogger.Error("加载本地插件", triggerLocalPath, "中的TriggerName方法失败。", err)
 			continue
 		}
 		labelFunc, ok := label.(func() string)
 		if ok != true {
-			log.GlobalLogger.Error("插件", triggerLocalPath, "中的Label方法必须是(func() string):", err)
+			c_log.GlobalLogger.Error("插件", triggerLocalPath, "中的Label方法必须是(func() string):", err)
 			continue
 		}
 		labelString := labelFunc()
 		LabelMapTriggerId[labelString] = strconv.Itoa(trigger.TriggerId)
-		log.GlobalLogger.Info("主节点加载触发器插件:【ros topic】=", topic2, ",【触发器label】=", labelString, "【触发器ID】=", trigger.TriggerId, "【label和id映射关系】=", LabelMapTriggerId)
+		c_log.GlobalLogger.Info("主节点加载触发器插件:【ros topic】=", topic2, ",【触发器label】=", labelString, "【触发器ID】=", trigger.TriggerId, "【label和id映射关系】=", LabelMapTriggerId)
 	}
-	log.GlobalLogger.Info("主节点加载触发器插件 - 成功。")
+	c_log.GlobalLogger.Info("主节点加载触发器插件 - 成功。")
 }

+ 1 - 1
pji/master/pkg/cfg/nacos_config.go

@@ -1,7 +1,7 @@
 package cfg
 
 import (
-	"cicv-data-closedloop/plugin-compile/package/config/c_log"
+	"cicv-data-closedloop/common/config/c_log"
 	"fmt"
 	"github.com/nacos-group/nacos-sdk-go/v2/clients"
 	"github.com/nacos-group/nacos-sdk-go/v2/clients/naming_client"

+ 2 - 2
pji/master/pkg/svc/move_bag_and_send_window.go

@@ -1,9 +1,9 @@
 package svc
 
 import (
+	"cicv-data-closedloop/common/config/c_log"
 	commonConfig "cicv-data-closedloop/pji/common/cfg"
 	"cicv-data-closedloop/pji/common/global"
-	"cicv-data-closedloop/pji/common/log"
 	commonService "cicv-data-closedloop/pji/common/svc"
 	util2 "cicv-data-closedloop/pji/common/util"
 	"time"
@@ -11,7 +11,7 @@ import (
 
 // RunTimeWindowProducerQueue 将时间窗口内的包全部move出去,并等待当前时间窗口结束触发上传
 func RunTimeWindowProducerQueue() {
-	log.GlobalLogger.Info("生产者队列goroutine - 启动")
+	c_log.GlobalLogger.Info("生产者队列goroutine - 启动")
 	for {
 		// 收到自杀信号
 		select {

+ 18 - 18
pji/master/pkg/svc/produce_window.go

@@ -1,10 +1,10 @@
 package svc
 
 import (
+	"cicv-data-closedloop/common/config/c_log"
 	"cicv-data-closedloop/pji/common/cfg"
 	commonEntity "cicv-data-closedloop/pji/common/ent"
 	"cicv-data-closedloop/pji/common/global"
-	"cicv-data-closedloop/pji/common/log"
 	commonService "cicv-data-closedloop/pji/common/svc"
 	"cicv-data-closedloop/pji/common/util"
 	masterConfig "cicv-data-closedloop/pji/master/pkg/cfg"
@@ -54,12 +54,12 @@ func PrepareTimeWindowProducerQueue() {
 	//	log.GlobalLogger.Info("创建订阅者", masterConfig.TopicOfOdom, "发生故障:", err)
 	//	os.Exit(-1)
 	//}
-	log.GlobalLogger.Info("创建订阅者订阅主题" + masterConfig.TopicOfObstacleDetection)
+	c_log.GlobalLogger.Info("创建订阅者订阅主题" + masterConfig.TopicOfObstacleDetection)
 	subscriber1, err := goroslib.NewSubscriber(goroslib.SubscriberConf{
 		Node:  cfg.RosNode,
 		Topic: masterConfig.TopicOfObstacleDetection,
 		Callback: func(data *std_msgs.UInt8) {
-			//log.GlobalLogger.Info("话题", masterConfig.TopicOfObstacleDetection, "接收到数据", data)
+			//c_log.GlobalLogger.Info("话题", masterConfig.TopicOfObstacleDetection, "接收到数据", data)
 			subscriber1Mutex.Lock()
 			{
 				faultHappenTime := util.GetNowTimeCustom() // 获取当前故障发生时间
@@ -77,15 +77,15 @@ func PrepareTimeWindowProducerQueue() {
 		},
 	})
 	if err != nil {
-		log.GlobalLogger.Info("创建订阅者", masterConfig.TopicOfObstacleDetection, "发生故障:", err)
+		c_log.GlobalLogger.Info("创建订阅者", masterConfig.TopicOfObstacleDetection, "发生故障:", err)
 		os.Exit(-1)
 	}
-	log.GlobalLogger.Info("创建订阅者订阅主题" + masterConfig.TopicOfSysInfo)
+	c_log.GlobalLogger.Info("创建订阅者订阅主题" + masterConfig.TopicOfSysInfo)
 	subscriber2, err := goroslib.NewSubscriber(goroslib.SubscriberConf{
 		Node:  cfg.RosNode,
 		Topic: masterConfig.TopicOfSysInfo,
 		Callback: func(data *pji_msgs.SysInfo) {
-			//log.GlobalLogger.Info("话题", masterConfig.TopicOfSysInfo, "接收到数据", data)
+			//c_log.GlobalLogger.Info("话题", masterConfig.TopicOfSysInfo, "接收到数据", data)
 			subscriber2Mutex.Lock()
 			{
 				faultHappenTime := util.GetNowTimeCustom() // 获取当前故障发生时间
@@ -103,15 +103,15 @@ func PrepareTimeWindowProducerQueue() {
 		},
 	})
 	if err != nil {
-		log.GlobalLogger.Info("创建订阅者", masterConfig.TopicOfObstacleDetection, "发生故障:", err)
+		c_log.GlobalLogger.Info("创建订阅者", masterConfig.TopicOfObstacleDetection, "发生故障:", err)
 		os.Exit(-1)
 	}
-	log.GlobalLogger.Info("创建订阅者订阅主题" + masterConfig.TopicOfLocateInfo)
+	c_log.GlobalLogger.Info("创建订阅者订阅主题" + masterConfig.TopicOfLocateInfo)
 	subscriber3, err := goroslib.NewSubscriber(goroslib.SubscriberConf{
 		Node:  cfg.RosNode,
 		Topic: masterConfig.TopicOfLocateInfo,
 		Callback: func(data *pji_msgs.LocateInfo) {
-			//log.GlobalLogger.Info("话题", masterConfig.TopicOfLocateInfo, "接收到数据", data)
+			//c_log.GlobalLogger.Info("话题", masterConfig.TopicOfLocateInfo, "接收到数据", data)
 			subscriber3Mutex.Lock()
 			{
 				faultHappenTime := util.GetNowTimeCustom() // 获取当前故障发生时间
@@ -129,15 +129,15 @@ func PrepareTimeWindowProducerQueue() {
 		},
 	})
 	if err != nil {
-		log.GlobalLogger.Info("创建订阅者", masterConfig.TopicOfObstacleDetection, "发生故障:", err)
+		c_log.GlobalLogger.Info("创建订阅者", masterConfig.TopicOfObstacleDetection, "发生故障:", err)
 		os.Exit(-1)
 	}
-	log.GlobalLogger.Info("创建订阅者订阅主题" + masterConfig.TopicOfImu)
+	c_log.GlobalLogger.Info("创建订阅者订阅主题" + masterConfig.TopicOfImu)
 	subscriber4, err := goroslib.NewSubscriber(goroslib.SubscriberConf{
 		Node:  cfg.RosNode,
 		Topic: masterConfig.TopicOfImu,
 		Callback: func(data *sensor_msgs.Imu) {
-			//log.GlobalLogger.Info("话题", masterConfig.TopicOfImu, "接收到数据", data)
+			//c_log.GlobalLogger.Info("话题", masterConfig.TopicOfImu, "接收到数据", data)
 			subscriber4Mutex.Lock()
 			{
 				faultHappenTime := util.GetNowTimeCustom() // 获取当前故障发生时间
@@ -155,15 +155,15 @@ func PrepareTimeWindowProducerQueue() {
 		},
 	})
 	if err != nil {
-		log.GlobalLogger.Info("创建订阅者", masterConfig.TopicOfObstacleDetection, "发生故障:", err)
+		c_log.GlobalLogger.Info("创建订阅者", masterConfig.TopicOfObstacleDetection, "发生故障:", err)
 		os.Exit(-1)
 	}
-	log.GlobalLogger.Info("创建订阅者订阅主题" + masterConfig.TopicOfDiagnostics)
+	c_log.GlobalLogger.Info("创建订阅者订阅主题" + masterConfig.TopicOfDiagnostics)
 	subscriber5, err := goroslib.NewSubscriber(goroslib.SubscriberConf{
 		Node:  cfg.RosNode,
 		Topic: masterConfig.TopicOfDiagnostics,
 		Callback: func(data *diagnostic_msgs.DiagnosticArray) {
-			//log.GlobalLogger.Info("话题", masterConfig.TopicOfDiagnostics, "接收到数据", data)
+			//c_log.GlobalLogger.Info("话题", masterConfig.TopicOfDiagnostics, "接收到数据", data)
 			subscriber5Mutex.Lock()
 			{
 				faultHappenTime := util.GetNowTimeCustom() // 获取当前故障发生时间
@@ -181,7 +181,7 @@ func PrepareTimeWindowProducerQueue() {
 		},
 	})
 	if err != nil {
-		log.GlobalLogger.Info("创建订阅者", masterConfig.TopicOfObstacleDetection, "发生故障:", err)
+		c_log.GlobalLogger.Info("创建订阅者", masterConfig.TopicOfObstacleDetection, "发生故障:", err)
 		os.Exit(-1)
 	}
 
@@ -214,7 +214,7 @@ func saveTimeWindow(faultLabel string, faultHappenTime string, lastTimeWindow *c
 			MasterTopics:    masterTopics,
 			SlaveTopics:     slaveTopics,
 		}
-		log.GlobalLogger.Infof("不在旧故障窗口内,向生产者队列添加一个新窗口,【Lable】=%v,【FaultTime】=%v,【Length】=%v", newTimeWindow.Labels, newTimeWindow.FaultTime, newTimeWindow.Length)
+		c_log.GlobalLogger.Infof("不在旧故障窗口内,向生产者队列添加一个新窗口,【Lable】=%v,【FaultTime】=%v,【Length】=%v", newTimeWindow.Labels, newTimeWindow.FaultTime, newTimeWindow.Length)
 		util.AddTimeWindowToTimeWindowProducerQueue(newTimeWindow)
 	} else {
 		// 2-2 如果在旧故障窗口内
@@ -240,7 +240,7 @@ func saveTimeWindow(faultLabel string, faultHappenTime string, lastTimeWindow *c
 		lastTimeWindow.MasterTopics = util.MergeSlice(sourceMasterTopics, masterTopics)
 		sourceSlaveTopics := lastTimeWindow.SlaveTopics
 		lastTimeWindow.SlaveTopics = util.MergeSlice(sourceSlaveTopics, slaveTopics)
-		log.GlobalLogger.Infof("在旧故障窗口内,更新生产者队列最新的窗口,【Lable】=%v,【FaultTime】=%v,【Length】=%v", lastTimeWindow.Labels, lastTimeWindow.FaultTime, lastTimeWindow.Length)
+		c_log.GlobalLogger.Infof("在旧故障窗口内,更新生产者队列最新的窗口,【Lable】=%v,【FaultTime】=%v,【Length】=%v", lastTimeWindow.Labels, lastTimeWindow.FaultTime, lastTimeWindow.Length)
 	}
 }