Log.py 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. '''
  2. Log类
  3. '''
  4. __author__ = 'lmstack'
  5. import logging
  6. import os
  7. class Mylog:
  8. def __init__(self, log_name='this_log', log_level = ''):
  9. self.logger = logging.getLogger(log_name)
  10. self._set_log_level(logging.INFO)
  11. if len(log_level) > 0:
  12. self._set_log_level(log_level)
  13. def get_logger(self):
  14. return self.logger
  15. def set_file_hl(self, file_name='all.log', log_level='info', size=1):
  16. fh = logging.handlers.RotatingFileHandler(file_name, maxBytes=size, backupCount=10)
  17. fh_formatter = logging.Formatter('%(asctime)s:%(created)f:%(name)s:%(module)s:%(funcName)s:%(levelname)s:%(message)s')
  18. fh.setFormatter(fh_formatter)
  19. if len(log_level) > 0:
  20. if log_level == 'debug':
  21. fh.setLevel(logging.DEBUG)
  22. if log_level == 'info':
  23. fh.setLevel(logging.INFO)
  24. if log_level == 'warning':
  25. fh.setLevel(logging.WARNING)
  26. if log_level == 'error':
  27. fh.setLevel(logging.ERROR)
  28. self.logger.addHandler(fh)
  29. def set_stream_hl(self, log_level='info'):
  30. sh = logging.StreamHandler()
  31. sh_formatter = logging.Formatter('%(asctime)s:%(created)f:%(name)s:%(module)s:%(funcName)s:%(levelname)s:%(message)s')
  32. sh.setFormatter(sh_formatter)
  33. if len(log_level) > 0:
  34. if log_level == 'debug':
  35. sh.setLevel(logging.DEBUG)
  36. if log_level == 'info':
  37. sh.setLevel(logging.INFO)
  38. if log_level == 'warning':
  39. sh.setLevel(logging.WARNING)
  40. if log_level == 'error':
  41. sh.setLevel(logging.ERROR)
  42. self.logger.addHandler(sh)
  43. def _set_log_level(self, log_level):
  44. if log_level == 'debug':
  45. self.logger.setLevel(logging.DEBUG)
  46. if log_level == 'info':
  47. self.logger.setLevel(logging.INFO)
  48. if log_level == 'warning':
  49. self.logger.setLevel(logging.WARNING)
  50. if log_level == 'error':
  51. self.logger.setLevel(logging.ERROR)