# -*- coding: utf-8 -*- ''' 设置每天 00:00:00 新建一个日志记录 ''' import os import sys sys.path.append(os.path.join(os.path.abspath(__file__).split('auto')[0] + 'auto')) import time from datetime import datetime import pymongo from base.base_load_config import load_config, get_base_path config_json = load_config() base_project = get_base_path() PROJECT_NAME = config_json.get('PROJECT_NAME') DB_USER = config_json.get('DB_USER') DB_PASSWORD = config_json.get('DB_PASSWORD') DB_IP = config_json.get('DB_IP') DB_PORT = config_json.get('DB_PORT') MONGO_LINK = f'mongodb://{DB_USER}:{DB_PASSWORD}@{DB_IP}:{DB_PORT}/' MAIL_HOST = config_json.get('MAIL_HOST') MAIL_USER = config_json.get('MAIL_USER') MAIL_PASS = config_json.get('MAIL_PASS') MAIL_SENDER = config_json.get('MAIL_SENDER') MAIL_RECEIVERS = config_json.get('MAIL_RECEIVERS') now_day = time.strftime('%Y-%m-%d', time.localtime()) rss_base_url = 'http://home.erhe.link:20002/xmlfile/' class LogsHandle(object): def __init__(self): self.now_day = time.strftime('%Y-%m-%d', time.localtime()) db = 'logs' collection = 'logs_' + self.now_day self.mongo = MongoHandle(db=db, collection=collection, del_db=False, del_collection=False, auto_remove=0) def logs_generate(self): data_to_insert = { "title": "logs", "context": 'generate message logs', "state": "create", "create_time": int(time.time()), "create_datetime": datetime.now().strftime("%Y-%m-%d %H:%M:%S") } self.mongo.collection.insert_one(data_to_insert) class MongoHandle(object): def __init__(self, db, collection, del_db=False, del_collection=False, auto_remove=0): self.client = pymongo.MongoClient(MONGO_LINK) self.db = db self.collection = collection if del_db and db: # 检查数据库是否存在 if db in self.client.list_database_names(): # 删除数据库 self.client.drop_database(db) self.db = self.client[db] if del_collection and self.collection: # 检查集合是否存在 if self.collection in self.db.list_collection_names(): # 删除集合 self.db.drop_collection(collection) self.collection = self.db[collection] if auto_remove: self.auto_remove_data(auto_remove) def write_data(self, data): self.collection.insert_one(data) def auto_remove_data(self, day): for data in self.collection.find({'create_time': {'$lt': int(time.time()) - day * 24 * 60 * 60}}): self.collection.delete_one({'_id': data['_id']}) if __name__ == '__main__': print("新建当天日志记录...") LogsHandle().logs_generate() print("当天日志记录已创建...")