| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- # -*- coding: utf-8 -*-
- import os
- import logging
- import warnings
- from datetime import datetime
- from logging.handlers import RotatingFileHandler
- from .env import LOG_PATH
- from .configParser import config
- __all__ = ["logger"]
- LOGGER_FOLDER = os.path.join(LOG_PATH, datetime.now().strftime("%Y%m%d%H%M%S"))
- LOGGER_MAX_BYTES = 1024 * 1024 * 100
- LOGGER_BACKUP_COUNT = 3
- LOGGER_FORMAT = "[%(levelname)s]%(asctime)s File '%(filename)s',line %(lineno)s: %(message)s"
- def checkLoggerPath():
- if not os.path.exists(LOGGER_FOLDER):
- os.makedirs(LOGGER_FOLDER, exist_ok=True)
- def getLogger(loggerName: str):
- checkLoggerPath()
- loggerFile = os.path.join(LOGGER_FOLDER, loggerName + "_log.txt")
- logger = logging.getLogger(loggerName)
- logger.setLevel(logging.DEBUG)
- # 日志记录
- fileHandler = RotatingFileHandler(
- loggerFile,
- maxBytes=LOGGER_MAX_BYTES,
- backupCount=LOGGER_BACKUP_COUNT,
- encoding="utf-8"
- )
- fileHandler.setLevel(logging.DEBUG)
- fileFormatter = logging.Formatter(LOGGER_FORMAT)
- fileHandler.setFormatter(fileFormatter)
- # 终端显示
- streamHander = logging.StreamHandler()
- formatter = logging.Formatter(LOGGER_FORMAT)
- streamHander.setFormatter(formatter)
-
- # 设置日志等级
- if config.COMMON.LOG_LEVEL == "DEBUG":
- fileHandler.setLevel(logging.DEBUG)
- streamHander.setLevel(logging.DEBUG)
- elif config.COMMON.LOG_LEVEL == "INFO":
- fileHandler.setLevel(logging.INFO)
- streamHander.setLevel(logging.INFO)
- elif config.COMMON.LOG_LEVEL == "WARNING":
- fileHandler.setLevel(logging.WARNING)
- streamHander.setLevel(logging.WARNING)
- elif config.COMMON.LOG_LEVEL == "ERROR":
- fileHandler.setLevel(logging.ERROR)
- streamHander.setLevel(logging.ERROR)
- else:
- warnings.warn(f"Unknown logging level: {config.COMMON.LOG_LEVEL}, set logging level to DEBUG!")
- fileHandler.setLevel(logging.DEBUG)
- streamHander.setLevel(logging.DEBUG)
- logger.addHandler(fileHandler)
- logger.addHandler(streamHander)
- return logger
- logger = getLogger("system")
|