config.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import os
  2. from logging.config import dictConfig
  3. from src.core.datasource import SERVE_HOST, MYSQL_PASSWORD
  4. class BaseConfig(object):
  5. # 数据库的配置
  6. DIALCT = "mysql"
  7. DRITVER = "pymysql"
  8. HOST = SERVE_HOST
  9. PORT = "3306"
  10. USERNAME = "root"
  11. PASSWORD = MYSQL_PASSWORD
  12. DBNAME = 'libra_bot'
  13. SQLALCHEMY_DATABASE_URI = f"{DIALCT}+{DRITVER}://{USERNAME}:{PASSWORD}@{HOST}:{PORT}/{DBNAME}?charset=utf8"
  14. SQLALCHEMY_TRACK_MODIFICATIONS = True # Disable track modifications
  15. SQLALCHEMY_ECHO = True # Optional: Log SQL queries
  16. dictConfig({
  17. "version": 1,
  18. "disable_existing_loggers": False, # 不覆盖默认配置
  19. "formatters": { # 日志输出样式
  20. "default": {
  21. "format": "%(asctime)s - %(module)s.%(lineno)d - %(levelname)s - %(threadName)s: %(message)s"
  22. }
  23. },
  24. "handlers": {
  25. "console": {
  26. "class": "logging.StreamHandler", # 控制台输出
  27. "level": "DEBUG",
  28. "formatter": "default",
  29. },
  30. "log_file": {
  31. "class": "logging.handlers.RotatingFileHandler",
  32. "level": "INFO",
  33. "formatter": "default", # 日志输出样式对应formatters
  34. "filename": "./logs/flask.log", # 指定log文件目录
  35. "maxBytes": 20*1024*1024, # 文件最大20M
  36. "backupCount": 10, # 最多10个文件
  37. "encoding": "utf8", # 文件编码
  38. },
  39. },
  40. "root": {
  41. "level": "DEBUG", # # handler中的level会覆盖掉这里的level
  42. "handlers": ["console", "log_file"],
  43. },
  44. }
  45. )