package jobs import ( "IotAdmin/common" "IotAdmin/core/logger" iotLog "IotAdmin/iot/log" "strconv" "strings" "time" ) // CleanLog // 新添加的job 必须按照以下格式定义,并实现Exec函数 type CleanLog struct { } func (t *CleanLog) Exec(arg interface{}) error { jobLogger.Infof("【CleanLog】 EXEC START") err := common.CleanSysLog() if err != nil { jobLogger.Errorf("CleanSysLog EXEC ERROR:%s", err.Error()) return err } err = CleanJobLog(7) if err != nil { jobLogger.Errorf("CleanJobLog EXEC ERROR:%s", err.Error()) return err } switch arg.(type) { case string: if arg.(string) != "" { str := arg.(string) arr := strings.Split(str, ",") p1, err := strconv.Atoi(arr[0]) if err != nil { jobLogger.Errorf("CleanLog EXEC ERROR:%s", err.Error()) return err } if len(arr) > 1 { p2, err := strconv.Atoi(arr[1]) if err != nil { jobLogger.Errorf("CleanLog EXEC ERROR:%s", err.Error()) return err } err = iotLog.Clean(p1, p2) if err != nil { jobLogger.Errorf("CleanLog EXEC ERROR:%s", err.Error()) return err } } else { err = iotLog.Clean(p1, p1) if err != nil { jobLogger.Errorf("CleanLog EXEC ERROR:%s", err.Error()) return err } } } else { jobLogger.Errorf("CleanLog EXEC ERROR: arg is empty") } break case int: if arg.(int) != 0 { p := arg.(int) err := iotLog.Clean(p, p) if err != nil { logger.Error(time.Now().Format(timeFormat) + " [ERROR] JobCore CleanLog exec error:" + err.Error()) return err } } break default: } jobLogger.Infof("【CleanLog】 EXEC END\r\n") return nil } func (t *CleanLog) GetName() string { return "清理日志" }