Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import logging, json
- def dict2str(data):
- return json.dumps(data, indent=4, sort_keys=True)
- class AdvancedLogger:
- def __init__(self, name, default_level=logging.DEBUG, file_name=None):
- self.logger = logging.getLogger(name)
- formatter = logging.Formatter('%(asctime)s - %(name)s:%(lineno)d - %(levelname)s - %(message)s')
- self.logger.setLevel(default_level)
- console_handler = logging.StreamHandler()
- console_handler.setFormatter(formatter)
- self.logger.addHandler(console_handler)
- if file_name:
- file_handler = logging.FileHandler(file_name)
- file_handler.setFormatter(formatter)
- self.logger.addHandler(file_handler)
- def debug(self, data):
- if isinstance(data, dict):
- self.logger.debug(dict2str(data))
- else:
- self.logger.debug(data)
- def info(self, data):
- if isinstance(data, dict):
- self.logger.info(dict2str(data))
- else:
- self.logger.info(data)
Add Comment
Please, Sign In to add comment