log.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. """
  4. @Author: hywell
  5. @Email: hywell.28@gmail.com
  6. @Blog: iassas.com
  7. @Date: 2019/10/16 13:38
  8. """
  9. import sys
  10. import logging
  11. from lib.core.enums import CUSTOM_LOGGING
  12. logging.addLevelName(CUSTOM_LOGGING.SYSINFO, "*")
  13. logging.addLevelName(CUSTOM_LOGGING.SUCCESS, "+")
  14. logging.addLevelName(CUSTOM_LOGGING.ERROR, "-")
  15. logging.addLevelName(CUSTOM_LOGGING.WARNING, "!")
  16. LOGGER = logging.getLogger("AWIScanLog")
  17. LOGGER_HANDLER = None
  18. try:
  19. from thiedparty.ansistrm.ansistrm import ColorizingStreamHandler
  20. disableColor = False
  21. for argument in sys.argv:
  22. if "disable-col" in argument:
  23. disableColor = True
  24. break
  25. if disableColor:
  26. LOGGER_HANDLER = logging.StreamHandler(sys.stdout)
  27. else:
  28. LOGGER_HANDLER = ColorizingStreamHandler(sys.stdout)
  29. LOGGER_HANDLER.level_map[logging.getLevelName("*")] = (None, "cyan", False)
  30. LOGGER_HANDLER.level_map[logging.getLevelName("+")] = (None, "green", False)
  31. LOGGER_HANDLER.level_map[logging.getLevelName("-")] = (None, "red", False)
  32. LOGGER_HANDLER.level_map[logging.getLevelName("!")] = (None, "yellow", False)
  33. except ImportError:
  34. LOGGER_HANDLER = logging.StreamHandler(sys.stdout)
  35. FORMATTER = logging.Formatter("\r[%(asctime)s] [%(levelname)s] %(message)s", "%H:%M:%S")
  36. LOGGER_HANDLER.setFormatter(FORMATTER)
  37. LOGGER.addHandler(LOGGER_HANDLER)
  38. LOGGER.setLevel(logging.DEBUG)