import logging
LEVEL_DICT = {
'INFO': logging.INFO,
'DEBUG': logging.DEBUG,
'WARNING': logging.WARNING,
'ERROR': logging.ERROR,
'CRITICAL': logging.CRITICAL
}
[docs]class BaseLogger(object):
def __init__(self, options):
level = LEVEL_DICT.get(options.get('log_level'), 'INFO')
self.logger = logging.getLogger(options.get('logger_name', 'export-pipeline'))
self.logger.setLevel(level)
[docs]class CategoryLogger(BaseLogger):
[docs] def debug(self, msg):
self._log(msg=msg, level=logging.DEBUG)
[docs] def info(self, msg):
self._log(msg=msg, level=logging.INFO)
[docs] def warning(self, msg):
self._log(msg=msg, level=logging.WARNING)
[docs] def error(self, msg):
self._log(msg=msg, level=logging.ERROR)
[docs] def critical(self, msg):
self._log(msg=msg, level=logging.CRITICAL)
def _log(self, msg, level):
self.logger.log(msg=msg, level=level)
[docs]class ReaderLogger(CategoryLogger):
def _log(self, msg, level):
self.logger.log(msg=' -- READER -- '+msg, level=level)
[docs]class FilterLogger(CategoryLogger):
def _log(self, msg, level):
self.logger.log(msg=' -- FILTER -- '+msg, level=level)
[docs]class WriterLogger(CategoryLogger):
def _log(self, msg, level):
self.logger.log(msg=' -- WRITER -- '+msg, level=level)
[docs]class ExportManagerLogger(CategoryLogger):
def _log(self, msg, level):
self.logger.log(msg=' -- EXPORTMANAGER -- '+msg, level=level)
[docs]class PersistenceLogger(CategoryLogger):
def _log(self, msg, level):
self.logger.log(msg=' -- PERSISTENCE -- '+msg, level=level)
[docs]class StatsManagerLogger(CategoryLogger):
def _log(self, msg, level):
self.logger.log(msg=' -- STATS MANAGER -- '+msg, level=level)