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

+ 3 - 1
kinglong/common/cfg/local-config-soc1.yaml

@@ -1,4 +1,6 @@
-node-name: master
+node:
+  name: master
+  ip: 192.168.1.102
 # 数据闭环平台参数
 equipment-no: kinglong3
 secret-key: 8EGgsLqCer8j7VR0q12emEAcrHQ3x1jh8pX9MZIa

+ 3 - 1
kinglong/common/cfg/local-config-soc2.yaml

@@ -1,4 +1,6 @@
-node-name: slave
+node:
+  name: slave
+  ip: 192.168.1.103
 # 数据闭环平台参数
 equipment-no: kinglong3
 secret-key: 8EGgsLqCer8j7VR0q12emEAcrHQ3x1jh8pX9MZIa

+ 3 - 1
kinglong/common/cfg/local-config.yaml

@@ -1,4 +1,6 @@
-node-name: master
+node:
+  name: master
+  ip: 192.168.1.102
 # 数据闭环平台参数
 equipment-no: kinglong3
 secret-key: 8EGgsLqCer8j7VR0q12emEAcrHQ3x1jh8pX9MZIa

+ 6 - 1
kinglong/common/cfg/local_cfg.go

@@ -6,6 +6,11 @@ import (
 	"os"
 )
 
+type node struct {
+	Name string `yaml:"name"`
+	Ip   string `yaml:"ip"`
+}
+
 type restartCmd struct {
 	Dir  string   `yaml:"dir"`
 	Name string   `yaml:"name"`
@@ -13,7 +18,7 @@ type restartCmd struct {
 }
 
 type localConfig struct {
-	NodeName             string     `yaml:"node-name"`               // 获取oss配置的url
+	Node                 node       `yaml:"node"`                    // 获取oss配置的url
 	UrlGetOssConfig      string     `yaml:"url-get-oss-config"`      // 获取oss配置的url
 	OssBasePrefix        string     `yaml:"oss-base-prefix"`         // 云端配置文件的位置
 	EquipmentNo          string     `yaml:"equipment-no"`            // 当前设备的编号

+ 26 - 22
kinglong/common/log/log_cfg.go

@@ -1,6 +1,7 @@
 package log
 
 import (
+	"cicv-data-closedloop/common/util"
 	"fmt"
 	"github.com/sirupsen/logrus"
 	"os"
@@ -10,19 +11,22 @@ import (
 )
 
 var GlobalLogger *logrus.Logger
-var MonitorLogger *logrus.Logger
+
+//var MonitorLogger *logrus.Logger
 
 // InitLogConfig 初始化日志配置
 func InitLogConfig(prefix string) {
 	initGlobalLogger(prefix)
-	initMonitorLogger()
+	//initMonitorLogger()
 }
 
 // initGlobalLogger 初始化日志配置
 func initGlobalLogger(prefix string) {
 	time.Sleep(time.Duration(1) * time.Second)
+	logPath := "./log/" + prefix + "-" + time.Now().Format("2006-01-02-15-04-05") + ".log"
+	err := util.CreateParentDir(logPath)
 	// 创建、追加、读写,777,所有权限
-	f, err := os.OpenFile("./log/"+prefix+time.Now().Format("2006-01-02-15-04-05")+".log", os.O_CREATE|os.O_APPEND|os.O_RDWR, os.ModePerm)
+	f, err := os.OpenFile(logPath, os.O_CREATE|os.O_APPEND|os.O_RDWR, os.ModePerm)
 	if err != nil {
 		os.Exit(-1)
 	}
@@ -39,22 +43,22 @@ func initGlobalLogger(prefix string) {
 
 }
 
-// initMonitorLogger 初始化日志配置
-func initMonitorLogger() {
-	time.Sleep(time.Duration(1) * time.Second)
-	// 创建、追加、读写,777,所有权限
-	f, err := os.OpenFile("monitor-"+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)
-	}
-	MonitorLogger = logrus.New()
-	MonitorLogger.SetOutput(f)
-	MonitorLogger.SetReportCaller(true) // 开启行号显示
-	MonitorLogger.SetFormatter(&logrus.JSONFormatter{
-		CallerPrettyfier: func(frame *runtime.Frame) (string, string) {
-			fileName := filepath.Base(frame.File)
-			return "", fmt.Sprintf("%s:%d", fileName, frame.Line)
-		},
-	})
-	MonitorLogger.Info("初始化MonitorLogger - 成功")
-}
+//// initMonitorLogger 初始化日志配置
+//func initMonitorLogger() {
+//	time.Sleep(time.Duration(1) * time.Second)
+//	// 创建、追加、读写,777,所有权限
+//	f, err := os.OpenFile("monitor-"+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)
+//	}
+//	MonitorLogger = logrus.New()
+//	MonitorLogger.SetOutput(f)
+//	MonitorLogger.SetReportCaller(true) // 开启行号显示
+//	MonitorLogger.SetFormatter(&logrus.JSONFormatter{
+//		CallerPrettyfier: func(frame *runtime.Frame) (string, string) {
+//			fileName := filepath.Base(frame.File)
+//			return "", fmt.Sprintf("%s:%d", fileName, frame.Line)
+//		},
+//	})
+//	MonitorLogger.Info("初始化MonitorLogger - 成功")
+//}

+ 7 - 8
kinglong/control/main/control.go

@@ -3,7 +3,6 @@ package main
 import (
 	"cicv-data-closedloop/common/util"
 	"cicv-data-closedloop/kinglong/common/cfg"
-	commonConfig "cicv-data-closedloop/kinglong/common/cfg"
 	"cicv-data-closedloop/kinglong/common/log"
 	commonService "cicv-data-closedloop/kinglong/common/svc"
 	"net/rpc"
@@ -45,27 +44,27 @@ func main() {
 		} else if status == "CHANGE" || status == "NONE" {
 			// 3 发送rpc信号杀死两个服务,并重启程序
 			if lastStatus == "NONE" && status == "CHANGE" {
-				if _, err := util.ExecuteWithPath(commonConfig.LocalConfig.RestartCmd.Dir, commonConfig.LocalConfig.RestartCmd.Name, commonConfig.LocalConfig.RestartCmd.Args...); err != nil {
-					log.GlobalLogger.Info("启动新程序失败,【path】=", commonConfig.LocalConfig.RestartCmd.Dir, "【cmd】=", commonConfig.LocalConfig.RestartCmd.Name, commonConfig.LocalConfig.RestartCmd.Args, ":", err)
+				if _, err := util.ExecuteWithPath(cfg.LocalConfig.RestartCmd.Dir, cfg.LocalConfig.RestartCmd.Name, cfg.LocalConfig.RestartCmd.Args...); err != nil {
+					log.GlobalLogger.Info("启动新程序失败,【path】=", cfg.LocalConfig.RestartCmd.Dir, "【cmd】=", cfg.LocalConfig.RestartCmd.Name, cfg.LocalConfig.RestartCmd.Args, ":", err)
 					os.Exit(-1)
 				}
-				log.GlobalLogger.Info("启动任务,本地执行启动命令:【path】=", commonConfig.LocalConfig.RestartCmd.Dir, "【cmd】=", commonConfig.LocalConfig.RestartCmd.Name, commonConfig.LocalConfig.RestartCmd.Args)
+				log.GlobalLogger.Info("启动任务,本地执行启动命令:【path】=", cfg.LocalConfig.RestartCmd.Dir, "【cmd】=", cfg.LocalConfig.RestartCmd.Name, cfg.LocalConfig.RestartCmd.Args)
 				lastStatus = status
 				log.GlobalLogger.Info("获取数据闭环平台最新配置。")
-				commonConfig.InitPlatformConfig()
+				cfg.InitPlatformConfig()
 				continue
 			}
 			var killArgs *commonService.KillSignal
 			if lastStatus == "UN_CHANGE" && status == "CHANGE" {
-				killArgs = &commonService.KillSignal{NodeName: cfg.LocalConfig.NodeName, DropUploadData: cfg.PlatformConfig.DropUploadData, Restart: true}
+				killArgs = &commonService.KillSignal{NodeName: cfg.LocalConfig.Node.Name, DropUploadData: cfg.PlatformConfig.DropUploadData, Restart: true}
 				log.GlobalLogger.Info("更新任务,发送rpc重启信号到localhost:", killArgs)
 			}
 			if lastStatus == "UN_CHANGE" && status == "NONE" {
-				killArgs = &commonService.KillSignal{NodeName: cfg.LocalConfig.NodeName, DropUploadData: cfg.PlatformConfig.DropUploadData, Restart: false}
+				killArgs = &commonService.KillSignal{NodeName: cfg.LocalConfig.Node.Name, DropUploadData: cfg.PlatformConfig.DropUploadData, Restart: false}
 				log.GlobalLogger.Info("杀死任务,发送rpc结束信号到从节点:", killArgs)
 			}
 
-			KillRpcClient, err := rpc.Dial("tcp", "localhost:"+commonConfig.CloudConfig.RpcPort)
+			KillRpcClient, err := rpc.Dial("tcp", cfg.LocalConfig.Node.Ip+":"+cfg.CloudConfig.RpcPort)
 			if err != nil {
 				log.GlobalLogger.Error("创建rpc客户端连接master失败:", err)
 				// 此处关闭client会报错