| 12345678910111213141516171819202122232425262728293031323334 |
- import logging
- import sys
- from app.config import config
- class Log:
- _instance: "Log" = None
- def __new__(cls) -> "Log":
- if cls._instance is None:
- cls._instance = super().__new__(cls)
- cls._instance._configure()
- return cls._instance
- def _configure(self) -> None:
- self._logger = logging.getLogger("camoufox_api")
- self._logger.setLevel(getattr(logging, config.LOG_LEVEL.upper(), logging.INFO))
- if not self._logger.handlers:
- handler = logging.StreamHandler(sys.stdout)
- handler.setLevel(self._logger.level)
- formatter = logging.Formatter(
- "%(asctime)s | %(levelname)s | %(message)s",
- datefmt="%Y-%m-%d %H:%M:%S",
- )
- handler.setFormatter(formatter)
- self._logger.addHandler(handler)
- @property
- def logger(self) -> logging.Logger:
- return self._logger
- log = Log()
|