__init__.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. # -*- coding:utf-8 -*-
  2. # 配置文件初始化
  3. # 主要是一些 db 的初始化创建
  4. # 简单 Class 类函数的 初始化
  5. import asyncio
  6. import json
  7. import logging
  8. import os
  9. from concurrent.futures import ThreadPoolExecutor
  10. from configparser import ConfigParser
  11. from logging.handlers import TimedRotatingFileHandler
  12. from os.path import dirname
  13. import uvloop
  14. from requests import adapters
  15. adapters.DEFAULT_POOLSIZE = 100000
  16. asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
  17. class CfgBaseInit(object):
  18. """
  19. config: 配置文件对象
  20. project_name: 项目名称
  21. start_mode: 项目启动模式
  22. """
  23. config = ConfigParser()
  24. config.read(os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "config", "config.ini"))
  25. project_name = config.get("CONFIG", "project_name")
  26. project_path = dirname(dirname(__file__))
  27. bind = config.get("CONFIG", "host")
  28. class Logger(object):
  29. # 日志
  30. log_path = CfgBaseInit.config.get("LOG", "log_path")
  31. when = CfgBaseInit.config.get("LOG", "when")
  32. backupCount = int(CfgBaseInit.config.get("LOG", "backupCount"))
  33. logging.basicConfig(
  34. format='%(asctime)s %(name)s %(process)d %(thread)d %(threadName)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s')
  35. logger = logging.getLogger(CfgBaseInit.project_name)
  36. logger.setLevel(logging.DEBUG)
  37. # 输出到文件
  38. handler = TimedRotatingFileHandler(log_path, when=when, backupCount=backupCount)
  39. logger.addHandler(handler)
  40. logger = Logger.logger