فهرست منبع

增加日志删除

maxiaoshan 3 سال پیش
والد
کامیت
0f71d01948
1فایلهای تغییر یافته به همراه27 افزوده شده و 0 حذف شده
  1. 27 0
      src/main.go

+ 27 - 0
src/main.go

@@ -1,14 +1,20 @@
 package main
 
 import (
+	"fmt"
+	"io/ioutil"
 	mgo "mongodb"
+	"os"
 	qu "qfw/util"
+	"regexp"
+	"time"
 
 	"github.com/cron"
 
 	"github.com/donnie4w/go-logger/logger"
 )
 
+var timeReg = regexp.MustCompile("[0-9]{4}-[0-9]{2}-[0-9]{2}")
 var (
 	Config map[string]interface{}
 	//User   map[string]string
@@ -70,6 +76,7 @@ func init() {
 }
 
 func main() {
+	go clearLogs()
 	//低采集量爬虫新建任务
 	LuaYearMinCodeCreateTask()
 	c := cron.New()
@@ -84,3 +91,23 @@ func main() {
 	ch := make(chan bool, 1)
 	<-ch
 }
+
+func clearLogs() {
+	fmt.Println("=======clearLogs========")
+	timeInt := time.Now().AddDate(0, 0, -30).Unix()
+	dirs, err := ioutil.ReadDir("./logs")
+	if err == nil {
+		for _, f := range dirs {
+			fname := f.Name()
+			logTimeStr := timeReg.FindString(fname)
+			if logTimeStr == "" {
+				continue
+			}
+			logTimeInt, _ := time.ParseInLocation("2006-01-02", logTimeStr, time.Local)
+			if logTimeInt.Unix() < timeInt {
+				os.Remove("./logs/" + fname)
+			}
+		}
+	}
+	time.AfterFunc(24*time.Hour, clearLogs)
+}