logger.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. class Logger:
  2. levels = {
  3. 'DEBUG': 10,
  4. 'INFO': 20,
  5. 'WARNING': 30,
  6. 'ERROR': 40,
  7. 'CRITICAL': 50
  8. }
  9. current_level = levels['DEBUG']
  10. log_format = "{levelname}: {message}"
  11. @staticmethod
  12. def log(level_name, message):
  13. if Logger.levels[level_name] >= Logger.current_level:
  14. print(Logger.log_format.format(levelname=level_name, message=message))
  15. @staticmethod
  16. def info(message):
  17. Logger.log('INFO', message)
  18. @staticmethod
  19. def debug(message):
  20. Logger.log('DEBUG', message)
  21. @staticmethod
  22. def warning(message):
  23. Logger.log('WARNING', message)
  24. @staticmethod
  25. def error(message):
  26. Logger.log('ERROR', message)
  27. @staticmethod
  28. def critical(message):
  29. Logger.log('CRITICAL', message)
  30. @staticmethod
  31. def set_level(level_name):
  32. if level_name in Logger.levels:
  33. Logger.current_level = Logger.levels[level_name]
  34. else:
  35. raise ValueError(f"Invalid log level: {level_name}")
  36. @staticmethod
  37. def format(log_format):
  38. Logger.log_format = log_format