Guest User

Untitled

a guest
Jul 16th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.00 KB | None | 0 0
  1. import logging, json
  2.  
  3. def dict2str(data):
  4. return json.dumps(data, indent=4, sort_keys=True)
  5.  
  6. class AdvancedLogger:
  7. def __init__(self, name, default_level=logging.DEBUG, file_name=None):
  8. self.logger = logging.getLogger(name)
  9. formatter = logging.Formatter('%(asctime)s - %(name)s:%(lineno)d - %(levelname)s - %(message)s')
  10. self.logger.setLevel(default_level)
  11. console_handler = logging.StreamHandler()
  12. console_handler.setFormatter(formatter)
  13. self.logger.addHandler(console_handler)
  14. if file_name:
  15. file_handler = logging.FileHandler(file_name)
  16. file_handler.setFormatter(formatter)
  17. self.logger.addHandler(file_handler)
  18.  
  19.  
  20. def debug(self, data):
  21. if isinstance(data, dict):
  22. self.logger.debug(dict2str(data))
  23. else:
  24. self.logger.debug(data)
  25.  
  26. def info(self, data):
  27. if isinstance(data, dict):
  28. self.logger.info(dict2str(data))
  29. else:
  30. self.logger.info(data)
Add Comment
Please, Sign In to add comment