log.py 765B

12345678910111213141516171819202122232425262728
  1. # coding: utf-8
  2. import logging
  3. import sys
  4. import typing
  5. class SynergineLogger(logging.getLoggerClass()):
  6. @property
  7. def is_debug(self) -> bool:
  8. return self.isEnabledFor(logging.DEBUG)
  9. def get_default_logger(name: str='synergine', level: int=logging.ERROR) -> SynergineLogger:
  10. """
  11. WARNING: Set global logging Logger class to SynergineLogger
  12. """
  13. logging.setLoggerClass(SynergineLogger)
  14. logger = logging.getLogger(name)
  15. logger = typing.cast(SynergineLogger, logger)
  16. handler = logging.StreamHandler(sys.stdout)
  17. formatter = logging.Formatter('%(asctime)s|%(name)s|%(process)d|%(levelname)s: %(message)s')
  18. handler.setFormatter(formatter)
  19. logger.addHandler(handler)
  20. logger.setLevel(level)
  21. return logger