import logging


class Handler(logging.Handler):
    """A logging handler that reports errors to the analytics manager"""
    def __init__(self, manager, level=logging.ERROR):
        self.manager = manager
        logging.Handler.__init__(self, level)

    def emit(self, record):
        # We need to call format to ensure that record.message and
        # record.exc_text attributes are populated
        self.format(record)
        self.manager.send_error(record)