| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- # -*- coding: UTF-8 -*-
- '''
- 获取每天日期,新建 logs 文件
- 存到 logs 文件夹中
- '''
- import time
- from datetime import datetime
- import os
- import sys
- sys.path.append(os.path.join(os.path.abspath(__file__).split('auto')[0] + 'auto'))
- from utils.utils_mongo_handle import MongoHandle
- from base.base_load_config import load_config, get_base_path
- config_json = load_config()
- base_project = get_base_path()
- 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 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)
- def logs_send(self):
- subject = 'auto collection logs'
- title = 'auto collection - logs: {}'.format(self.now_day)
- text = ''
- # TODO
- # 从 mongodb 读取日志, 拼接 text, 发送邮件
- # 查询所有文档
- cursor = self.mongo.collection.find()
- # 遍历结果集
- for record in cursor:
- text += "logs_source: {}, logs_detail: {}, state: {} logs_create_time: {}\n\n".format(
- record.setdefault('title'),
- record.setdefault('content'),
- record.setdefault('state'),
- record.setdefault('create_datetime'),
- )
- S = SendEmail(subject=subject, title=title, text=text)
- S.send()
- def logs_write(self, title_source=None, content=None, state=None, send_now=False):
- data_to_insert = {
- "title": title_source,
- "context": content,
- "state": state,
- "create_time": int(time.time()),
- "create_datetime": datetime.now().strftime("%Y-%m-%d %H:%M:%S")
- }
- self.mongo.collection.insert_one(data_to_insert)
- if send_now:
- subject = 'auto collection'
- title = 'auto collection - running logs: {}'.format(self.now_day)
- text = 'logs_source: {}, logs_detail: {}, state: {} logs_create_time: {}'.format(
- data_to_insert.setdefault('title'),
- data_to_insert.setdefault('content'),
- data_to_insert.setdefault('state'),
- data_to_insert.setdefault('create_datetime'),
- )
- Send = SendEmail(subject=subject, title=title, text=text)
- Send.send()
|