package master import ( "go.mongodb.org/mongo-driver/mongo" "context" "go.mongodb.org/mongo-driver/mongo/options" "go-crontab/common" ) // mongodb日志管理 type LogMgr struct { client *mongo.Client logCollection *mongo.Collection } var ( G_logMgr *LogMgr ) func InitLogMgr() (err error) { var ( client *mongo.Client ) // 建立mongodb连接 // 建立mongodb连接 clientOptions := options.Client().ApplyURI("mongodb://ichunt:huntmon6699@192.168.1.237:27017/ichunt?authMechanism=SCRAM-SHA-1") if client, err = mongo.Connect( context.TODO(),clientOptions); err != nil { return } G_logMgr = &LogMgr{ client: client, logCollection: client.Database("cron").Collection("log"), } return } // 查看任务日志 func (logMgr *LogMgr) ListLog(name string, skip int, limit int) (logArr []*common.JobLog, err error){ //var ( // filter *common.JobLogFilter // logSort *common.SortLogByStartTime // cursor mongo.Cursor // jobLog *common.JobLog //) // //// len(logArr) //logArr = make([]*common.JobLog, 0) // //// 过滤条件 //filter = &common.JobLogFilter{JobName: name} // //// 按照任务开始时间倒排 //logSort = &common.SortLogByStartTime{SortOrder: -1} // 查询 //if cursor, err = logMgr.logCollection.Find(context.TODO(), filter, findopt.Sort(logSort), findopt.Skip(int64(skip)), findopt.Limit(int64(limit))); err != nil { // return //} // 延迟释放游标 //defer cursor.Close(context.TODO()) // //for cursor.Next(context.TODO()) { // jobLog = &common.JobLog{} // // // 反序列化BSON // if err = cursor.Decode(jobLog); err != nil { // continue // 有日志不合法 // } // // logArr = append(logArr, jobLog) //} return }