From 0e441dc5137776776d367f4075f7a2f62ae03628 Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期四, 07 十一月 2019 16:58:14 +0800
Subject: [PATCH] merge V1.0

---
 insertdata/EsClient.go           |    2 
 logger/logger.go                 |  225 ++++++++++++++++++++++++++++
 insertdata/insertDataToEs.go     |   40 ----
 ruleserver/server.go             |    2 
 ruleserver/ruleToformula.go      |   30 +-
 main.go                          |    4 
 ruleserver/personTrack.go        |  134 +++++++++-------
 labelFilter/readyDataForLabel.go |    2 
 labelFilter/ruleForLabel.go      |   20 +-
 ruleserver/readyDataForRule.go   |   16 +-
 ruleserver/timeTicker.go         |    2 
 11 files changed, 345 insertions(+), 132 deletions(-)

diff --git a/insertdata/EsClient.go b/insertdata/EsClient.go
index 6ecd30a..c83eb87 100644
--- a/insertdata/EsClient.go
+++ b/insertdata/EsClient.go
@@ -7,7 +7,7 @@
 	"io"
 	"io/ioutil"
 	"net/http"
-	"basic.com/valib/logger.git"
+	"ruleprocess/logger"
 	"strconv"
 	"strings"
 	"time"
diff --git a/insertdata/insertDataToEs.go b/insertdata/insertDataToEs.go
index ba89ac2..c857895 100644
--- a/insertdata/insertDataToEs.go
+++ b/insertdata/insertDataToEs.go
@@ -1,7 +1,7 @@
 package insertdata
 
 import (
-	"basic.com/valib/logger.git"
+	"ruleprocess/logger"
 	"encoding/base64"
 	"encoding/json"
 	"errors"
@@ -127,30 +127,6 @@
 	rules []structure.Result
 }
 
-// 寰�ES鎻掓暟鎹�
-//func InsertToEs(msg ruleserver.ResultMsg) {
-//	var timeLabel string
-//	// 鐩存帴浠庤鍒欑殑鏍囩鏁版嵁閲屾嬁绗﹀悎瑙勫垯鐨勪汉鑴哥粨鏋�
-//	if msg.RuleResult["timeLabel"] != nil {
-//		timeLabel = msg.RuleResult["timeLabel"].(string)
-//	}
-//	logger.Debug("鎻掑叆鏁版嵁鍓嶇湅鐪嬫姤璀︽爣蹇椾綅锛�", timeLabel)
-//	if timeLabel == "01" { // 鏃犲畾鏃跺櫒鐘舵�佽鎻掑叆鐨勬姤璀︽暟鎹�
-//		InsertFace(msg)
-//		flag := ruleserver.BodyIsSame(msg.SdkMessage)
-//		if !flag {
-//			InsertYolo(msg)
-//		}
-//	}
-//	if timeLabel == "10" { // 瀹氭椂鍣ㄧ姸鎬佽鎻掑叆鐨勯甯ф姤璀︽暟鎹�傝繛甯︾潃瀹氭椂鍣ㄥ紑鍚椂鐨勯偅甯�
-//		InsertFace(msg)
-//		InsertYolo(msg)
-//	}
-//	//if timeLabel == "12" { // 骞堕潪鎶ヨ鏁版嵁锛屽彧鏄姸鎬佹敼鍙樼殑鏁版嵁
-//	//	//ChangeStatusFace(msg)
-//	//	ChangeStatusYolo(msg)
-//	//}
-//}
 func InsertToEs(msg structure.ResultMsg) {
 	defer func() {
 		if err := recover(); err != nil {
@@ -186,7 +162,7 @@
 					panic("瑙e帇缂╁浘鐗囨椂鍑虹幇閿欒")
 				}
 				alarmRules := []AlarmRule{}
-				logger.Warn("浜鸿劯id涓猴細", face.Id, "浜鸿劯鐨勮鍒欓暱搴︿负锛�", len(face.rules))
+				//logger.Warn("浜鸿劯id涓猴細", face.Id, "浜鸿劯鐨勮鍒欓暱搴︿负锛�", len(face.rules))
 				//os.Exit(1)
 				for _, faceResult := range face.rules {
 					alarm := ChangeToString(faceResult.DefenceState, faceResult.AlarmLevel)
@@ -228,7 +204,6 @@
 				target.TargetScore = face.Score
 				target.TargetLocation = Points{TopLeft:Point{face.Location.X,face.Location.Y},BottomRight:Point{face.Location.X+face.Location.Width,face.Location.Y+face.Location.Height}}
 				//logger.Info("浜鸿劯鐨刬d:",strconv.FormatUint(face.Id, 10))
-				logger.Info("%%%%%%%%%%%%%%%%%%%%%鐩爣淇℃伅锛�",*target)
 				pervideo := PerVideoPicture{
 					msg.Push.PushId,
 					msg.Cid,
@@ -296,12 +271,12 @@
 func hebingFace(faces []*FaceAndRules, faceResult structure.FaceResult) []*FaceAndRules {
 	for _, arg := range faceResult.Args {
 		// 鎷垮埌姣忎竴寮犱汉鑴�
-		logger.Info("褰掔疆浜鸿劯鏃剁浉浼艰�呯殑鏁伴噺锛�", len(arg.Liker))
+		//logger.Info("褰掔疆浜鸿劯鏃剁浉浼艰�呯殑鏁伴噺锛�", len(arg.Liker))
 		flag := false
 		for _, face := range faces {
-			for _, lik := range face.Liker {
-				logger.Warn("--------鍚堝苟浜鸿劯鏃剁浉浼艰�咃細", lik.PersonId, lik.TableName)
-			}
+			//for _, lik := range face.Liker {
+			//	//logger.Warn("--------鍚堝苟浜鸿劯鏃剁浉浼艰�咃細", lik.PersonId, lik.TableName)
+			//}
 			if arg.Id == face.Id {
 				flag = true
 				face.rules = append(face.rules, faceResult.Result)
@@ -382,7 +357,7 @@
 					// 瑁呴厤鐩爣淇℃伅鏁版嵁
 					for _,target := range yoloResult.Location  {
 						// 鍘婚噸娣诲姞
-						logger.Info("瑁呴厤鍓嶇殑鍘熷鏁版嵁鏄細",target)
+						//logger.Info("瑁呴厤鍓嶇殑鍘熷鏁版嵁鏄細",target)
 						var flag = true
 						for _,selectTarget := range targetInfos  {
 							if strconv.FormatUint(target.TargetId, 10) == selectTarget.TargetId {
@@ -442,7 +417,6 @@
 				// 涓嶆槸鎶ヨ鏁版嵁涓嶅瓨
 				return
 			}
-
 			if resp["fileUrl"] != nil {
 				url = append(url, resp["fileUrl"].(string))
 				//esDataId := uuid.NewV4().String()
diff --git a/labelFilter/readyDataForLabel.go b/labelFilter/readyDataForLabel.go
index 5c792e1..28b5233 100644
--- a/labelFilter/readyDataForLabel.go
+++ b/labelFilter/readyDataForLabel.go
@@ -1,7 +1,7 @@
 package labelFilter
 
 import (
-	"basic.com/valib/logger.git"
+	"ruleprocess/logger"
 	"ruleprocess/cache"
 	"ruleprocess/structure"
 	"time"
diff --git a/labelFilter/ruleForLabel.go b/labelFilter/ruleForLabel.go
index e8b0193..bb4f9a5 100644
--- a/labelFilter/ruleForLabel.go
+++ b/labelFilter/ruleForLabel.go
@@ -21,7 +21,7 @@
 	// 瑁呴厤鎴愯嚜宸卞彲浠ヨ瘑鍒殑鏁版嵁
 	label := new(Label)
 	label.DataFormatToLabel(msg)
-	logger.Info("label鐨勪俊鎭細", label.CameraName, label.DefenceLevel, label.Time)
+	//logger.Info("label鐨勪俊鎭細", label.CameraName, label.DefenceLevel, label.Time)
 	if label.CameraName == "" {
 		logger.Error("鏃犳晥鏁版嵁锛岀洿鎺ヨ繑鍥�")
 		return
@@ -29,7 +29,7 @@
 	//鎷垮埌鎵�鏈夎鍒欑粍
 	var api dbapi.EventPushApi
 	b, allRules := api.FindAllDetails()
-	logger.Info("鏌ョ湅鎵�鏈夎鍒欑粍锛�", allRules)
+	//logger.Info("鏌ョ湅鎵�鏈夎鍒欑粍锛�", allRules)
 	if !b {
 		logger.Error("鏌ヨ鏃堕棿鎺ㄩ�佽鍒欏け璐ワ紒")
 	}
@@ -100,7 +100,7 @@
 // 鏄惁绗﹀悎鏃堕棿瑙勫垯
 func timeJudge(label *Label, groupRule protomsg.EventPush) bool {
 	timeNow := time.Now().Format("2006-01-02 15:04:05")
-	logger.Info("鏍囩杩囨护鍣ㄨ捣濮嬫椂闂翠负锛�",groupRule.TimeStart,groupRule.TimeEnd)
+	//logger.Info("鏍囩杩囨护鍣ㄨ捣濮嬫椂闂翠负锛�",groupRule.TimeStart,groupRule.TimeEnd)
 	flag1 := isBefore(groupRule.TimeStart, timeNow)
 	flag2 := isBefore(timeNow, groupRule.TimeEnd)
 	if flag1 && flag2 {
@@ -137,7 +137,7 @@
 	if rule.TopicArg == "addr" {
 		formula = "'" + label.CameraAddr + "'" + rule.Operator + "'" + rule.RuleValue + "'"
 	}
-	logger.Info("-------鎵撳嵃鎽勫儚鏈鸿鍒欏叕寮忥細",formula)
+	//logger.Info("-------鎵撳嵃鎽勫儚鏈鸿鍒欏叕寮忥細",formula)
 	expression, err := govaluate.NewEvaluableExpression(formula);
 	if err != nil {
 		logger.Error("琛ㄨ揪寮忔湁璇紝璇锋鏌ワ紒", formula)
@@ -152,7 +152,7 @@
 		logger.Info("绗﹀悎鎽勫儚鏈鸿鍒�!")
 		return "true"
 	}
-	logger.Info("涓嶇鍚堟憚鍍忔満瑙勫垯!")
+	//logger.Info("涓嶇鍚堟憚鍍忔満瑙勫垯!")
 	return "false"
 }
 
@@ -174,7 +174,7 @@
 				for _, liker := range arg.Liker {
 					formula := "'" + liker.TableId + "'" + rule.Operator + "'" + rule.RuleValue + "'"
 					expression, err := govaluate.NewEvaluableExpression(formula);
-					logger.Info("-------鎵撳嵃搴曞簱瑙勫垯鍏紡锛�",formula)
+					//logger.Info("-------鎵撳嵃搴曞簱瑙勫垯鍏紡锛�",formula)
 					if err != nil {
 						logger.Error("琛ㄨ揪寮忔湁璇紝璇锋鏌ワ紒", formula)
 						return "false"
@@ -214,7 +214,7 @@
 				// 鍏朵粬杩欎釜鍊煎厛杩欎箞澶勭悊
 				return "true"
 			}
-			logger.Info("-------鎵撳嵃浜哄憳瑙勫垯鍏紡锛�",formula)
+			//logger.Info("-------鎵撳嵃浜哄憳瑙勫垯鍏紡锛�",formula)
 			expression, err := govaluate.NewEvaluableExpression(formula);
 			if err != nil {
 				logger.Error("琛ㄨ揪寮忔湁璇紝璇锋鏌ワ紒", formula)
@@ -238,7 +238,7 @@
 				}
 			} else {
 				formula := strconv.Itoa(int(personGroup.AlarmLevel)) + rule.Operator + formate(rule.RuleValue)
-				logger.Info("-------鎵撳嵃浜哄憳绛夌骇瑙勫垯鍏紡锛�",formula)
+				//logger.Info("-------鎵撳嵃浜哄憳绛夌骇瑙勫垯鍏紡锛�",formula)
 				expression, err := govaluate.NewEvaluableExpression(formula);
 				if err != nil {
 					logger.Error("琛ㄨ揪寮忔湁璇紝璇锋鏌ワ紒", formula)
@@ -275,7 +275,7 @@
 	} else {
 		for _, def := range label.DefenceLevel {
 			formula := strconv.Itoa(int(def)) + rule.Operator + rule.RuleValue
-			logger.Info("-------鎵撳嵃甯冮槻绛夌骇瑙勫垯鍏紡锛�",formula)
+			//logger.Info("-------鎵撳嵃甯冮槻绛夌骇瑙勫垯鍏紡锛�",formula)
 			expression, err := govaluate.NewEvaluableExpression(formula);
 			if err != nil {
 				logger.Error("琛ㄨ揪寮忔湁璇紝璇锋鏌ワ紒", formula)
@@ -300,7 +300,7 @@
 func taskJudge(label *Label, rule *protomsg.EventPushRule) string {
 	formula := "'"+label.TaskId +"'"+ rule.Operator +"'"+ rule.RuleValue+"'"
 	expression, err := govaluate.NewEvaluableExpression(formula);
-	logger.Info("-------鎵撳嵃浠诲姟瑙勫垯鍏紡锛�",formula)
+	//logger.Info("-------鎵撳嵃浠诲姟瑙勫垯鍏紡锛�",formula)
 	if err != nil {
 		logger.Error("琛ㄨ揪寮忔湁璇紝璇锋鏌ワ紒", formula)
 		return "false"
diff --git a/logger/logger.go b/logger/logger.go
new file mode 100644
index 0000000..0f03970
--- /dev/null
+++ b/logger/logger.go
@@ -0,0 +1,225 @@
+package logger
+
+import (
+	"fmt"
+	"log"
+	"os"
+	"os/exec"
+	"strings"
+	"time"
+)
+
+const (
+	PanicLevel int = iota
+	FatalLevel
+	ErrorLevel
+	WarnLevel
+	InfoLevel
+	DebugLevel
+)
+var loggerString string = ""
+const (
+	color_red = uint8(iota + 91)
+	color_green        //    缁�
+	color_yellow        //    榛�
+	color_blue            //     钃�
+	color_magenta         //    娲嬬孩
+)
+
+const (
+	fatalPrefix        =    "[FATAL] "
+	errorPrefix        =    "[ERROR] "
+	warnPrefix        =    "[WARN] "
+	infoPrefix        =    "[INFO] "
+	debugPrefix        =    "[DEBUG] "
+)
+
+const (
+	ByDay    int = iota
+	ByWeek
+	ByMonth
+	BySize
+)
+
+type LogFile struct {
+	level    int        // 鏃ュ織绛夌骇
+	saveMode int        // 淇濆瓨妯″紡
+	saveDays int        // 鏃ュ織淇濆瓨澶╂暟
+	logTime  int64        //
+	fileName string        // 鏃ュ織鏂囦欢鍚�
+	filesize int64        // 鏂囦欢澶у皬, 闇�瑕佽缃� saveMode 涓� BySize 鐢熸晥
+	fileFd   *os.File
+}
+
+var logFile LogFile
+
+func init()  {
+	logFile.saveMode = ByDay    // 榛樿鎸夊ぉ淇濆瓨
+	logFile.saveDays = 7        // 榛樿淇濆瓨涓夊ぉ鐨�
+	logFile.level = DebugLevel
+	//logFile.filesize = 1024 * 1024 * 10    // 榛樿10M锛� 闇�瑕佽缃� saveMode 涓� BySize
+}
+
+func Config(logFolder string, level int) {
+	logFile.fileName = logFolder
+	logFile.level = level
+
+	log.SetOutput(logFile)
+	//log.SetFlags(log.Lmicroseconds | log.Lshortfile)
+	log.SetFlags(log.Ldate | log.Ltime)
+}
+func GetLogFile() (*LogFile) {
+	return &logFile
+}
+
+func SetLevel(level int) {
+	logFile.level = level
+}
+
+func SetSaveMode(saveMode int)  {
+	logFile.saveMode = saveMode
+}
+
+func SetSaveDays(saveDays int)  {
+	logFile.saveDays = saveDays
+}
+
+func SetSaveSize(saveSize int64)  {
+	logFile.filesize = saveSize
+}
+
+func Debug(args ...interface{}) {
+	if logFile.level >= DebugLevel {
+		log.SetPrefix(blue(debugPrefix))
+		_ = log.Output(2, fmt.Sprintln(args...))
+		//loggerString += fmt.Sprintln(args...)
+	}
+}
+
+func Info(args ...interface{}) {
+	if logFile.level >= InfoLevel {
+		log.SetPrefix(green(infoPrefix))
+		//_ = log.Output(2, fmt.Sprintln(args...))
+		loggerString += fmt.Sprintln(args...)
+	}
+}
+
+func Warn(args ...interface{}) {
+	if logFile.level >= WarnLevel {
+		log.SetPrefix(magenta(warnPrefix))
+		_ = log.Output(2, fmt.Sprintln(args...))
+		//loggerString += fmt.Sprintln(args...)
+	}
+}
+
+func Error(args ...interface{}) {
+	if logFile.level >= ErrorLevel {
+		log.SetPrefix(red(errorPrefix))
+		_ = log.Output(2, fmt.Sprintln(args...))
+		//loggerString += fmt.Sprintln(args...)
+	}
+}
+
+func Fatal(args ...interface{}) {
+	if logFile.level >= FatalLevel {
+		log.SetPrefix(red(fatalPrefix))
+		_ = log.Output(2, fmt.Sprintln(args...))
+		//loggerString += fmt.Sprintln(args...)
+	}
+}
+func OutPutByPanlei() {
+	_ = log.Output(2, loggerString)
+}
+
+func GetRedPrefix(s string) string {
+	return fmt.Sprintf("\x1b[%dm%s\x1b[0m", color_red, s)
+}
+
+func red(s string) string {
+	return fmt.Sprintf("\x1b[%dm%s\x1b[0m", color_red, s)
+}
+
+func green(s string) string {
+	return fmt.Sprintf("\x1b[%dm%s\x1b[0m", color_green, s)
+}
+
+func yellow(s string) string {
+	return fmt.Sprintf("\x1b[%dm%s\x1b[0m", color_yellow, s)
+}
+
+func blue(s string) string {
+	return fmt.Sprintf("\x1b[%dm%s\x1b[0m", color_blue, s)
+}
+
+func magenta(s string) string {
+	return fmt.Sprintf("\x1b[%dm%s\x1b[0m", color_magenta, s)
+}
+
+func (me LogFile) Write(buf []byte) (n int, err error) {
+	if me.fileName == "" {
+		fmt.Printf("consol: %s", buf)
+		return len(buf), nil
+	}
+
+	switch logFile.saveMode {
+	case BySize:
+		fileInfo, err := os.Stat(logFile.fileName)
+		if  err != nil {
+			logFile.createLogFile()
+			logFile.logTime = time.Now().Unix()
+		}else {
+			filesize:= fileInfo.Size();
+			if logFile.fileFd == nil ||
+				filesize > logFile.filesize {
+				logFile.createLogFile()
+				logFile.logTime = time.Now().Unix()
+			}
+		}
+	default:    // 榛樿鎸夊ぉ  ByDay
+		if logFile.logTime+3600 < time.Now().Unix() {
+			logFile.createLogFile()
+			logFile.logTime = time.Now().Unix()
+		}
+	}
+
+	if logFile.fileFd == nil {
+		fmt.Printf("log fileFd is nil !\n")
+		return len(buf), nil
+	}
+
+	return logFile.fileFd.Write(buf)
+}
+
+func (me *LogFile) createLogFile() {
+	logdir := "./"
+	if index := strings.LastIndex(me.fileName, "/"); index != -1 {
+		logdir = me.fileName[0:index] + "/"
+		os.MkdirAll(me.fileName[0:index], os.ModePerm)
+	}
+
+	now := time.Now()
+	filename := fmt.Sprintf("%s_%04d%02d%02d",
+		me.fileName, now.Year(), now.Month(), now.Day())
+	if err := os.Rename(me.fileName, filename); err == nil {
+		go func() {
+			tarCmd := exec.Command("tar", "-zcf", filename+".tar.gz", filename, "--remove-files")
+			tarCmd.Run()
+
+			rmCmd := exec.Command("/bin/sh", "-c",
+				"find "+logdir+` -type f -mtime +` +string(logFile.saveDays)+ ` -exec rm {} \;`)
+			rmCmd.Run()
+		}()
+	}
+
+	for index := 0; index < 10; index++ {
+		if fd, err := os.OpenFile(me.fileName, os.O_CREATE|os.O_APPEND|os.O_WRONLY, os.ModeExclusive); nil == err {
+			me.fileFd.Sync()
+			me.fileFd.Close()
+			me.fileFd = fd
+			break
+		}else {
+			fmt.Println("Open logfile error! err: ", err.Error())
+		}
+		me.fileFd = nil
+	}
+}
\ No newline at end of file
diff --git a/main.go b/main.go
index 32fa0e0..360d176 100644
--- a/main.go
+++ b/main.go
@@ -87,7 +87,7 @@
 			} else {
 				//runtime.GOMAXPROCS(runtime.NumCPU())
 				//logger.Debug("浣跨敤鐨刢pu涓暟锛�",runtime.NumCPU())
-				//go func(msg []byte) {
+				go func(msg []byte) {
 					logger.Debug("褰撳墠鏃堕棿鎴筹細", time.Now().Unix())
 					arg := structure.SdkDatas{}
 					//paramFormat(msg, &arg)
@@ -106,7 +106,7 @@
 					logger.Debug("鎻掑叆瀹孍s鎵�鐢ㄦ椂闂达細", esEnd)
 					//浜嬩欢鎺ㄩ��
 					labelFilter.PushSomthing(resultMsg)
-				//}(msg)
+				}(msg)
 			}
 		}
 	}
diff --git a/ruleserver/personTrack.go b/ruleserver/personTrack.go
index eb4fe23..74bcf8c 100644
--- a/ruleserver/personTrack.go
+++ b/ruleserver/personTrack.go
@@ -2,12 +2,14 @@
 
 import (
 	"basic.com/pubsub/protomsg.git"
+	"ruleprocess/logger"
 	"github.com/golang/protobuf/proto"
-	"basic.com/valib/logger.git"
 	"ruleprocess/structure"
+	"sync"
 )
 
 var TrackPond = make(map[string]*PersonTrack)
+var lock = sync.RWMutex{}
 
 type PersonTrack struct {
 	Faces []*Face // 浜鸿劯鐨勬暟缁�  鏀逛负鏁伴噺
@@ -19,6 +21,7 @@
 }
 
 var num int = 25
+
 // 妫�鏌ユ槸鍚﹀墠鍚庝袱娆$殑鏁版嵁id鏄惁瀹屽叏鐩稿悓锛堜汉鑴革級
 func FaceIsSame(msg *protomsg.SdkMessage) {
 	logger.Debug("+++++++++++++++++++++浜鸿劯杩借釜寮�濮�+++++++++++++++鎽勫儚鏈篿d涓猴細", msg.Cid, "---缂撳瓨姹犱负锛�", TrackPond)
@@ -30,14 +33,18 @@
 				FaceIsInPond(msg.Cid, sdkinfo)
 			} else {
 				if num > 0 { // 杩炵画num娆℃病鏈夋暟鎹墠绠楁槸娌℃湁鏁版嵁锛屼笉鐒跺彧绠椾綔涓㈠抚
-					logger.Info("鎴戣涓轰綘鍙槸涓㈠抚浜�,姝ゆ椂鐨刵um鍊间负锛�",num)
+					logger.Info("鎴戣涓轰綘鍙槸涓㈠抚浜�,姝ゆ椂鐨刵um鍊间负锛�", num)
 					num--
 				} else {
 					if TrackPond[msg.Cid] != nil {
 						logger.Info("濡傛灉涓嶄负绌猴細", TrackPond[msg.Cid])
+						lock.Lock()
 						TrackPond[msg.Cid].Faces = nil
+						lock.Unlock()
 					} else {
+						lock.Lock()
 						TrackPond[msg.Cid] = &PersonTrack{Faces: nil}
+						lock.Unlock()
 						logger.Info("濡傛灉涓虹┖锛�", TrackPond[msg.Cid])
 					}
 					logger.Info("鎽勫儚鏈�:" + msg.Cid + "-娌℃湁浜鸿劯锛岃閲嶇疆涓虹┖")
@@ -54,62 +61,62 @@
 	logger.Debug("+++++++++++++++++++++浜轰綋杩借釜寮�濮�+++++++++++++++鎽勫儚鏈篿d涓猴細", msg.Cid, "---缂撳瓨姹犱负锛�", TrackPond)
 	for _, sdkinfo := range msg.Tasklab.Sdkinfos { // 閬嶅巻鍚勭畻娉曠殑sdkData
 		if sdkinfo.Sdktype == "Yolo" {
-					if len(sdkinfo.Sdkdata) > 1 {
-						yoloParam := protomsg.ParamYoloObj{}
-						err := proto.Unmarshal(sdkinfo.Sdkdata, &yoloParam)
-						if err != nil {
-							logger.Info("瑙f瀽yolo鏁版嵁鏃跺嚭鐜伴敊璇�", err)
-							continue
-						}
-						var yoloNum int = 0
-						for i := 0; i < len(yoloParam.Infos); i++ {
-							if yoloParam.Infos[i].Typ == 0 {
-								yoloNum++
-							}
-						}
-						if TrackPond[msg.Cid] != nil {
-							logger.Info("================杩借釜涔嬪墠yolo鐨勪釜鏁帮細", yoloNum, "鐜板湪缂撳瓨姹犱腑璁板綍鐨勪釜鏁帮細", TrackPond[msg.Cid].Yolo)
-						} else {
-							logger.Info("================杩借釜涔嬪墠yolo鐨勪釜鏁帮細", yoloNum, "杩樻病鏈夎繖涓憚鍍忔満鐨勭紦瀛�")
-						}
-						if yoloParam.Infos != nil && TrackPond[msg.Cid] != nil && yoloNum == TrackPond[msg.Cid].Yolo { // yolo鐨勫鏋滄暟閲忕浉鍚屽垯瑙嗕负涓嶅彉銆佹妸yolo鐨剆dkData娓呯┖
-							yoloParam.Infos = (yoloParam.Infos)[0:0]
-							sdkinfo.Sdkdata, err = proto.Marshal(&yoloParam)
-							if err != nil {
-								logger.Error("yolo搴忓垪鍖栭敊璇�", err)
-							}
-							delete(args.RuleResult,"yolo")
-							logger.Info("娓呴櫎yolo鏍囩锛�",args.RuleResult["yolo"])
-							logger.Info("璺熶箣鍓嶇浉鍚岋紝娓呯┖yolo鏁版嵁锛屼汉浣撹拷韪粨鏉�")
-							return true
-						} else {
-							if TrackPond[msg.Cid] != nil {
-								logger.Info("鏇存柊褰撳墠鎽勫儚鏈虹紦瀛樻睜涓殑yolo涓暟锛�", yoloNum)
-								TrackPond[msg.Cid].Yolo = yoloNum
-							} else {
-								logger.Info("鏂板缓褰撳墠鎽勫儚鏈虹紦瀛樻睜涓殑yolo涓暟锛�", yoloNum)
-								TrackPond[msg.Cid] = &PersonTrack{Yolo: yoloNum}
-							}
-							logger.Debug("---------------------------------浜轰綋杩借釜缁撴潫--------------------------------------")
-							return false
-						}
+			if len(sdkinfo.Sdkdata) > 1 {
+				yoloParam := protomsg.ParamYoloObj{}
+				err := proto.Unmarshal(sdkinfo.Sdkdata, &yoloParam)
+				if err != nil {
+					logger.Info("瑙f瀽yolo鏁版嵁鏃跺嚭鐜伴敊璇�", err)
+					continue
+				}
+				var yoloNum int = 0
+				for i := 0; i < len(yoloParam.Infos); i++ {
+					if yoloParam.Infos[i].Typ == 0 {
+						yoloNum++
+					}
+				}
+				if TrackPond[msg.Cid] != nil {
+					logger.Info("================杩借釜涔嬪墠yolo鐨勪釜鏁帮細", yoloNum, "鐜板湪缂撳瓨姹犱腑璁板綍鐨勪釜鏁帮細", TrackPond[msg.Cid].Yolo)
+				} else {
+					logger.Info("================杩借釜涔嬪墠yolo鐨勪釜鏁帮細", yoloNum, "杩樻病鏈夎繖涓憚鍍忔満鐨勭紦瀛�")
+				}
+				if yoloParam.Infos != nil && TrackPond[msg.Cid] != nil && yoloNum == TrackPond[msg.Cid].Yolo { // yolo鐨勫鏋滄暟閲忕浉鍚屽垯瑙嗕负涓嶅彉銆佹妸yolo鐨剆dkData娓呯┖
+					yoloParam.Infos = (yoloParam.Infos)[0:0]
+					sdkinfo.Sdkdata, err = proto.Marshal(&yoloParam)
+					if err != nil {
+						logger.Error("yolo搴忓垪鍖栭敊璇�", err)
+					}
+					delete(args.RuleResult,"yolo")
+					logger.Info("娓呴櫎yolo鏍囩锛�",args.RuleResult["yolo"])
+					logger.Info("璺熶箣鍓嶇浉鍚岋紝娓呯┖yolo鏁版嵁锛屼汉浣撹拷韪粨鏉�")
+					return true
+				} else {
+					if TrackPond[msg.Cid] != nil {
+						logger.Info("鏇存柊褰撳墠鎽勫儚鏈虹紦瀛樻睜涓殑yolo涓暟锛�", yoloNum)
+						TrackPond[msg.Cid].Yolo = yoloNum
 					} else {
-						if TrackPond[msg.Cid] != nil {
-							TrackPond[msg.Cid].Yolo = 0
-						} else {
-							TrackPond[msg.Cid] = &PersonTrack{Yolo: 0}
-						}
-						logger.Info("鎽勫儚鏈�:" + msg.Cid + "-娌℃湁yolo锛岃閲嶇疆涓�0")
-						continue
+						logger.Info("鏂板缓褰撳墠鎽勫儚鏈虹紦瀛樻睜涓殑yolo涓暟锛�", yoloNum)
+						TrackPond[msg.Cid] = &PersonTrack{Yolo: yoloNum}
+					}
+					logger.Debug("---------------------------------浜轰綋杩借釜缁撴潫--------------------------------------")
+					return false
+				}
+			} else {
+				if TrackPond[msg.Cid] != nil {
+					TrackPond[msg.Cid].Yolo = 0
+				} else {
+					TrackPond[msg.Cid] = &PersonTrack{Yolo: 0}
+				}
+				logger.Info("鎽勫儚鏈�:" + msg.Cid + "-娌℃湁yolo锛岃閲嶇疆涓�0")
+				continue
 			}
 		}
 	}
 	logger.Debug("---------------------------------浜轰綋杩借釜缁撴潫--------------------------------------")
 	return false
 }
-func TrackOrNot(label map[string]interface{}) bool{
+func TrackOrNot(label map[string]interface{}) bool {
 	if label["yolo"] != nil && len(label["yolo"].([]structure.Result)) > 0 {
-		for _,res := range label["yolo"].([]structure.Result) {
+		for _, res := range label["yolo"].([]structure.Result) {
 			if res.TimeLabel == "10" {
 				return true
 			}
@@ -122,8 +129,8 @@
 func FaceIsInPond(cameraId string, sdkinfor *protomsg.SdkmsgWithTask) {
 	if TrackPond[cameraId] != nil {
 		logger.Info("----椹墠鐐細", TrackPond[cameraId], "=====", len(TrackPond[cameraId].Faces))
-		for _,face := range TrackPond[cameraId].Faces  {
-			logger.Info("缂撳瓨涓瓨鍌ㄧ殑face鏁版嵁锛�",face.Id,face.Score)
+		for _, face := range TrackPond[cameraId].Faces {
+			logger.Info("缂撳瓨涓瓨鍌ㄧ殑face鏁版嵁锛�", face.Id, face.Score)
 		}
 		faceParam := protomsg.ParamFacePos{}
 		err := proto.Unmarshal(sdkinfor.Sdkdata, &faceParam)
@@ -131,12 +138,12 @@
 			logger.Info("瑙f瀽face sdk鏁版嵁鏃跺嚭鐜伴敊璇�", err)
 		}
 		logger.Info("================杩借釜涔嬪墠浜鸿劯鐨勪釜鏁帮細", len(faceParam.Faces))
-		for _,face := range faceParam.Faces  {
-			logger.Info("鏂版潵鐨勭殑face鏁版嵁锛�",face.Pos.FaceID,face.Pos.FAngle.Confidence)
+		for _, face := range faceParam.Faces {
+			logger.Info("鏂版潵鐨勭殑face鏁版嵁锛�", face.Pos.FaceID, face.Pos.FAngle.Confidence)
 		}
 		var facesTemp []protomsg.ResultFaceDetect
-		for _,face := range faceParam.Faces {
-			facesTemp = append(facesTemp,*face) // 鍏堟妸鏁版嵁杞瓨涓�浠斤紝涓嶇劧涓�浼氬効鏁版嵁鍒犲噺涔嬪悗鎵句笉鍒板師濮嬫暟鎹紝涓嶈兘璁╃紦瀛樻暟鎹洿鏂颁簡
+		for _, face := range faceParam.Faces {
+			facesTemp = append(facesTemp, *face) // 鍏堟妸鏁版嵁杞瓨涓�浠斤紝涓嶇劧涓�浼氬効鏁版嵁鍒犲噺涔嬪悗鎵句笉鍒板師濮嬫暟鎹紝涓嶈兘璁╃紦瀛樻暟鎹洿鏂颁簡
 		}
 
 		for i := 0; i < len(faceParam.Faces); {
@@ -145,14 +152,16 @@
 				if faceParam.Faces[i].Pos.FaceID == val.Id && faceParam.Faces[i].Pos.FAngle.Confidence <= val.Score { // 鍦ㄦ睜瀛愰噷骞朵笖鍒嗗�兼洿浣庯紝鏄鎶涘純鐨勬暟鎹�
 					faceFlag = true
 					//return "true"
-					logger.Info("鍒嗗�间负锛�",faceParam.Faces[i].Pos.FAngle.Confidence,"--缂撳瓨鐨勫垎鍊间负锛�",val.Score,"姝ゆ暟鎹敱浜庡湪姹犲瓙涓笖鍒嗗�兼洿浣庯紝鏄琚姏寮冪殑鏁版嵁")
+					logger.Info("鍒嗗�间负锛�", faceParam.Faces[i].Pos.FAngle.Confidence, "--缂撳瓨鐨勫垎鍊间负锛�", val.Score, "姝ゆ暟鎹敱浜庡湪姹犲瓙涓笖鍒嗗�兼洿浣庯紝鏄琚姏寮冪殑鏁版嵁")
 					faceParam.Faces = append(faceParam.Faces[:i], faceParam.Faces[i+1:]...)
 					break
 				}
 				if faceParam.Faces[i].Pos.FaceID == val.Id && faceParam.Faces[i].Pos.FAngle.Confidence > val.Score { // 鍦ㄦ睜瀛愰噷骞朵笖鍒嗗�兼洿楂橈紝鏇存柊缂撳瓨
 					faceFlag = true
 					logger.Info("鍒嗗�肩敱", val.Score, "鏇存柊涓猴細", faceParam.Faces[i].Pos.FAngle.Confidence, "姝ゆ暟鎹敱浜庡湪姹犲瓙涓笖鍒嗗�兼洿楂橈紝鏄琚紶閫掍笅鍘荤殑鏁版嵁")
+					lock.Lock()
 					val.Score = faceParam.Faces[i].Pos.FAngle.Confidence
+					lock.Unlock()
 				}
 			}
 			if !faceFlag { // 姝や汉鑴镐笉鍦ㄦ睜瀛愪腑
@@ -161,10 +170,11 @@
 				i++
 			}
 		}
-		logger.Info("鍙嶅簭鍒楀寲閲嶆柊瑁呴厤涔嬪墠浜鸿劯鐨勪釜鏁帮細",len(faceParam.Faces))
+		logger.Info("鍙嶅簭鍒楀寲閲嶆柊瑁呴厤涔嬪墠浜鸿劯鐨勪釜鏁帮細", len(faceParam.Faces))
+
 		logger.Info("涓存椂瀛樺偍鐨勬柊鏉ユ暟鎹細")
 		for _, temp := range facesTemp {
-			logger.Info("涓存椂瀛樺偍鐨勬柊鏉ョ殑鐨刦ace鏁版嵁锛�",temp.Pos.FaceID,temp.Pos.FAngle.Confidence)
+			logger.Info("涓存椂瀛樺偍鐨勬柊鏉ョ殑鐨刦ace鏁版嵁锛�", temp.Pos.FaceID, temp.Pos.FAngle.Confidence)
 		}
 		sdkinfor.Sdkdata, err = proto.Marshal(&faceParam)
 		if err != nil {
@@ -183,10 +193,14 @@
 			} else {
 				// 姝ゆ暟鎹湪缂撳瓨涓絾涓嶅湪鏉ョ殑鏁版嵁甯т腑锛屽垹闄ゆ鏁版嵁鏇存柊缂撳瓨
 				logger.Info("鍒犻櫎姹犲瓙涓殑鏁版嵁鏇存柊缂撳瓨")
+				lock.Lock()
 				TrackPond[cameraId].Faces = append(TrackPond[cameraId].Faces[:i], TrackPond[cameraId].Faces[i+1:]...)
+				lock.Unlock()
 			}
 		}
 	} else {
-		TrackPond[cameraId] = &PersonTrack{Faces: nil} 
+		lock.Lock()
+		TrackPond[cameraId] = &PersonTrack{Faces: nil}
+		lock.Unlock()
 	}
 }
diff --git a/ruleserver/readyDataForRule.go b/ruleserver/readyDataForRule.go
index 4ac8b2c..07ff10a 100644
--- a/ruleserver/readyDataForRule.go
+++ b/ruleserver/readyDataForRule.go
@@ -13,7 +13,7 @@
 	"nanomsg.org/go-mangos/transport/tcp"
 	"net"
 	"ruleprocess/cache"
-	"basic.com/valib/logger.git"
+	"ruleprocess/logger"
 	"ruleprocess/structure"
 	"strconv"
 	"time"
@@ -63,7 +63,7 @@
 			taskGroup = task
 		}
 	}
-	logger.Debug("褰撳墠鏁版嵁甯ц鍖归厤鐨勮鍒欑粍锛�-------------------------","鎽勫儚鏈篿d:",cameraId,"浠诲姟id",taskId)
+	//logger.Debug("褰撳墠鏁版嵁甯ц鍖归厤鐨勮鍒欑粍锛�-------------------------","鎽勫儚鏈篿d:",cameraId,"浠诲姟id",taskId)
 	if taskGroup == nil  {
 		return nil
 	} else {
@@ -78,7 +78,7 @@
 func GetPolygons(cameraId string) []protomsg.CameraPolygon {
 	var cameraPolygons []protomsg.CameraPolygon
 	cameraPolygons = cache.GetPolygonsByCameraId(cameraId)
-	logger.Debug("------=======鏌ョ湅涓嬪叏閮ㄥ尯鍩燂細",cameraPolygons)
+	//logger.Debug("------=======鏌ョ湅涓嬪叏閮ㄥ尯鍩燂細",cameraPolygons)
 	return cameraPolygons
 }
 
@@ -89,10 +89,10 @@
 }
 func Decimal(value float32) float64 {
 	value1, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", float64(value)), 64)
-	logger.Info("鍒濇淇濈暀涓や綅鎴恠tr:",value1)
+	//logger.Info("鍒濇淇濈暀涓や綅鎴恠tr:",value1)
 	n10 := math.Pow10(4)
 	value2 := math.Trunc((value1+0.5/n10)*n10) / n10
-	logger.Info("鍒濇淇濈暀涓や綅鎴恠tr::::",value2)
+	//logger.Info("鍒濇淇濈暀涓や綅鎴恠tr::::",value2)
 	return value2
 }
 // 鍙栧嚭鏌愪釜鏃堕棿瑙勫垯鐨勭鍑犲ぉ鐨勮鍒欐闆嗗悎
@@ -299,9 +299,9 @@
 		}
 	}
 	logger.Info("鍖哄煙鏄細",areaPoints,"鍖哄煙鍐呯洰鏍囨暟閲忎负锛�",a.TargetNum,"---",len(a.FilterData))
-	for _,tar := range a.FilterData  {
-		logger.Info("鍏蜂綋鐩爣鐨勫潗鏍囦负",tar.Id,tar.Location)
-	}
+	//for _,tar := range a.FilterData  {
+	//	logger.Info("鍏蜂綋鐩爣鐨勫潗鏍囦负",tar.Id,tar.Location)
+	//}
 	a.Time = time.Unix(time.Now().Unix(), 0).String()[11:16]
 	a.KeepRight = arg.KeepRight
 	a.IsStatic = arg.IsStatic
diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go
index f6ea348..d7062ee 100644
--- a/ruleserver/ruleToformula.go
+++ b/ruleserver/ruleToformula.go
@@ -3,7 +3,7 @@
 import (
 	"ruleprocess/cache"
 	"ruleprocess/structure"
-	"basic.com/valib/logger.git"
+	"ruleprocess/logger"
 	"sort"
 	"strconv"
 	"strings"
@@ -254,7 +254,7 @@
 						}
 					}
 				}
-				logger.Info("face鏍囩鐨勯暱搴︼細",len(faces))
+				//logger.Info("face鏍囩鐨勯暱搴︼細",len(faces))
 				//for _,face := range faces  {
 				//	//logger.Debug("鈥斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�擾_______________鐪嬬湅浜鸿劯鐨勫潗鏍�:",face.Location)
 				//}
@@ -373,20 +373,20 @@
 			timeEle = *timeEle1
 		}
 	}
-	for _,ruleRe := range timeEle.RuleResults {
-		logger.Info("鑱斿姩鏁扮粍閲岀殑鏁版嵁----",ruleRe.CameraId,ruleRe.Sort)
-	}
+	//for _,ruleRe := range timeEle.RuleResults {
+	//	logger.Info("鑱斿姩鏁扮粍閲岀殑鏁版嵁----",ruleRe.CameraId,ruleRe.Sort)
+	//}
 	if flag { // 濡傛灉杩樻病鏈夎繖涓畾鏃跺櫒鍏冪礌灏辨柊澧炰竴涓�
 		//timeEle := TimeElement{N: 2, InitN: 2, GroupId: groupRule.GroupId} // 鎵旇繘鍘讳竴涓畾鏃跺櫒鍏冪礌
 		//TimeEleList = make(map[string]timeElement)
 		TimeEleList[groupRule.GroupId] = &timeEle // 瀹氭椂鍣ㄥ厓绱犱互瑙勫垯缁刬d涓洪敭
-		logger.Info("---------------------------------------------鑱斿姩浠诲姟鍒涘缓浜嗚鏁板櫒骞朵笖璁℃暟鍣ㄩ泦鍚堜负锛�", TimeEleList)
+		//logger.Info("---------------------------------------------鑱斿姩浠诲姟鍒涘缓浜嗚鏁板櫒骞朵笖璁℃暟鍣ㄩ泦鍚堜负锛�", TimeEleList)
 		// 寰楀嚭杩欑粍瀹屾暣瑙勫垯閲屾秹鍙婂埌鍑犱釜鎽勫儚鏈猴紝鍐冲畾鐫�鏁扮粍閲屾湁鍑犱釜缁撴瀯浣�,鍘婚噸娣诲姞鏂瑰紡
 		for j := 0; j < len(groupRule.Rules); j++ {
 			var flag1 bool = true
-			logger.Info("瑙勫垯缁勪俊鎭細",groupRule.Rules[j].CameraId)
+			//logger.Info("瑙勫垯缁勪俊鎭細",groupRule.Rules[j].CameraId)
 			for _, ruleRes := range TimeEleList[groupRule.GroupId].RuleResults {
-				logger.Info("鑱斿姩鏁扮粍閲岀殑鏁版嵁锛�",ruleRes.CameraId,ruleRes.Sort)
+				//logger.Info("鑱斿姩鏁扮粍閲岀殑鏁版嵁锛�",ruleRes.CameraId,ruleRes.Sort)
 				if groupRule.Rules[j].CameraId == ruleRes.CameraId {
 					flag1 = false
 				}
@@ -455,7 +455,7 @@
 						for _, ruleRes := range TimeEleList[groupRule.GroupId].RuleResults {
 							label.LinkCache = append(label.LinkCache, ruleRes.CacheData)
 						}
-						logger.Debug("鑱斿姩浠诲姟缂撳瓨浜嗗嚑涓暟鎹�", len(label.LinkCache))
+						//logger.Debug("鑱斿姩浠诲姟缂撳瓨浜嗗嚑涓暟鎹�", len(label.LinkCache))
 						for i := 0; i < len(args.RuleResult["yolo"].([]structure.Result)); i++ {
 							if args.RuleResult["yolo"].([]structure.Result)[i].RuleGroupId == groupRule.GroupId { // 鎶婅仈鍔ㄦ暟鎹拷鍔犱笂
 								args.RuleResult["yolo"].([]structure.Result)[i].Others.LinkCache = label.LinkCache
@@ -526,7 +526,7 @@
 					// 鎶婃病鏈夌浉浼艰�呯殑浜鸿劯浠巉ilterData涓垹闄�
 					for index := 0; index < len(am.FilterData); {
 						// 灏嗚揪涓嶅埌闃堝�肩殑鐩镐技鑰呬粠鐩镐技鑰呮暟缁勪腑鍒犻櫎
-						logger.Info("鐪嬬湅鐩镐技鑰呬汉鏁帮細",len(am.FilterData[index].Liker))
+						//logger.Info("鐪嬬湅鐩镐技鑰呬汉鏁帮細",len(am.FilterData[index].Liker))
 						if len(am.FilterData[index].Liker) == 0 {
 							// Go 璇█涓垏鐗囧垹闄ゅ厓绱犵殑鏈川鏄細浠ヨ鍒犻櫎鍏冪礌涓哄垎鐣岀偣锛屽皢鍓嶅悗涓や釜閮ㄥ垎鐨勫唴瀛橀噸鏂拌繛鎺ヨ捣鏉ャ�備笉鐢ㄦ��鐤戯紝鏁扮粍鍒犻櫎鍏冪礌灏辫繖涔堝潙鐖�
 							am.FilterData = append(am.FilterData[:index], am.FilterData[index+1:]...)
@@ -537,7 +537,7 @@
 					if len(am.FilterData) > 0 {
 						flag = "true"
 					}
-					logger.Info("---------浜鸿劯姣斿绗﹀悎鏉′欢鐨勬暟閲忎负锛�",len(am.FilterData))
+					//logger.Info("---------浜鸿劯姣斿绗﹀悎鏉′欢鐨勬暟閲忎负锛�",len(am.FilterData))
 					return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + flag, rule.Sort}
 				}
 			}
@@ -546,7 +546,7 @@
 				if rule.Operator == "==" || rule.Operator == ">=" || rule.Operator == "<=" || rule.Operator == "<" || rule.Operator == ">" || rule.Operator == "!=" {
 					// 濡傛灉鏄笉瑙勭煩鐨勮繛鎺ョ缁熺粺杩斿洖false 瑙勫垯涔熷彧鑳藉垽鏂汉鑴哥殑鐩镐技搴︼紝鎵�浠ヤ笉瀛樺湪鍒殑杩炴帴绗�
 					if rule.SdkArgAlias == "score" || rule.SdkArgAlias == "proportion" || rule.SdkArgAlias == "size" { // 鍒ゆ柇鐨勬槸鐩镐技鍊硷紝鍗犳瘮锛屽昂瀵哥瓑杩囨护鏉′欢锛屽鏋滃啀鏈夛紝杩樺彲浠ュ啀鍔�
-						logger.Info("-----------------------杩囪鍒欎箣鍓嶅尯鍩熷唴鐨勪汉鑴告暟閲忎负锛�",am.TargetNum)
+						//logger.Info("-----------------------杩囪鍒欎箣鍓嶅尯鍩熷唴鐨勪汉鑴告暟閲忎负锛�",am.TargetNum)
 						var args []*structure.Arg
 						if rule.RuleWithPre == "&&" {
 							args = am.FilterData
@@ -578,7 +578,7 @@
 							}
 						}
 						am.TargetNum = len(am.FilterData) // 鎶婄鍚堟潯浠剁殑鐩爣鏁伴噺鏇存柊鍒皌argetNum瀛楁
-						logger.Info("杩囧畬鏉′欢鍚庣殑鐩爣鏁伴噺涓猴細",am.TargetNum)
+						//logger.Info("杩囧畬鏉′欢鍚庣殑鐩爣鏁伴噺涓猴細",am.TargetNum)
 						if am.TargetNum > 0 {
 							logger.Info("锛侊紒锛侊紒锛侊紒锛侊紒锛佷汉鑴告娴嬫垚鍔�")
 							return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort}
@@ -654,14 +654,14 @@
 	cacheId := ""
 	if rule.PolygonId == am.AreaId { // 棣栧厛瑙勫垯鎵�瀵瑰簲鐨勫尯鍩焛d瑕佽窡鍖哄煙鏁版嵁鐨刬d瀵圭殑涓�  閰嶇疆鐨勭畻娉曡瀵圭殑涓�
 		if rule.SdkArgAlias == "duration" { //
-			logger.Info("褰撳墠灏忚鍒欐槸锛�---------", rule)
+			//logger.Info("褰撳墠灏忚鍒欐槸锛�---------", rule)
 			// 鍏堢湅鐪嬪畾鏃跺櫒鍏冪礌闃熷垪涓槸鍚︽湁杩欐潯瑙勫垯鐨勫畾鏃跺櫒,濡傛灉鏈夊氨涓嶈兘鍐嶆鍒涘缓浜�
 			rw.Lock()
 			var flag bool = true
 			for k, _ := range TimeEleList {
 				if k == groupId+"+"+rule.Id {
 					flag = false // 鏈夊氨缃负false
-					logger.Info("鏈夎繖涓畾鏃跺櫒锛屼笉鍐嶅垱寤轰簡锛�")
+					//logger.Info("鏈夎繖涓畾鏃跺櫒锛屼笉鍐嶅垱寤轰簡锛�")
 				}
 			}
 
diff --git a/ruleserver/server.go b/ruleserver/server.go
index 28d6c39..b3ac5dc 100644
--- a/ruleserver/server.go
+++ b/ruleserver/server.go
@@ -4,7 +4,7 @@
 	"basic.com/pubsub/protomsg.git"
 	"basic.com/valib/gopherdiscovery.git"
 	"github.com/gogo/protobuf/proto"
-	"basic.com/valib/logger.git"
+	"ruleprocess/logger"
 	"time"
 )
 
diff --git a/ruleserver/timeTicker.go b/ruleserver/timeTicker.go
index a572879..f42f3a2 100644
--- a/ruleserver/timeTicker.go
+++ b/ruleserver/timeTicker.go
@@ -2,7 +2,7 @@
 
 import (
 	"fmt"
-	"basic.com/valib/logger.git"
+	"ruleprocess/logger"
 	"ruleprocess/structure"
 	"strings"
 	"time"

--
Gitblit v1.8.0