exception logging at _send_to_plpy

This commit is contained in:
Juan Ignacio Sánchez Lara
2018-06-07 10:29:57 +02:00
parent 5251534283
commit be446c1bf2
@@ -35,28 +35,28 @@ class Logger:
return return
self._send_to_rollbar('debug', text, exception, data) self._send_to_rollbar('debug', text, exception, data)
self._send_to_log_file('debug', text, exception, data) self._send_to_log_file('debug', text, exception, data)
self._send_to_plpy('debug', text) self._send_to_plpy('debug', text, exception)
def info(self, text, exception=None, data={}): def info(self, text, exception=None, data={}):
if not self._check_min_level('info'): if not self._check_min_level('info'):
return return
self._send_to_rollbar('info', text, exception, data) self._send_to_rollbar('info', text, exception, data)
self._send_to_log_file('info', text, exception, data) self._send_to_log_file('info', text, exception, data)
self._send_to_plpy('info', text) self._send_to_plpy('info', text, exception)
def warning(self, text, exception=None, data={}): def warning(self, text, exception=None, data={}):
if not self._check_min_level('warning'): if not self._check_min_level('warning'):
return return
self._send_to_rollbar('warning', text, exception, data) self._send_to_rollbar('warning', text, exception, data)
self._send_to_log_file('warning', text, exception, data) self._send_to_log_file('warning', text, exception, data)
self._send_to_plpy('warning', text) self._send_to_plpy('warning', text, exception)
def error(self, text, exception=None, data={}): def error(self, text, exception=None, data={}):
if not self._check_min_level('error'): if not self._check_min_level('error'):
return return
self._send_to_rollbar('error', text, exception, data) self._send_to_rollbar('error', text, exception, data)
self._send_to_log_file('error', text, exception, data) self._send_to_log_file('error', text, exception, data)
self._send_to_plpy('error', text) self._send_to_plpy('error', text, exception)
def _check_min_level(self, level): def _check_min_level(self, level):
return True if self.LEVELS[level] >= self._min_level else False return True if self.LEVELS[level] >= self._min_level else False
@@ -85,18 +85,20 @@ class Logger:
elif level == 'error': elif level == 'error':
self._file_logger.error(text, extra=extra_data) self._file_logger.error(text, extra=extra_data)
def _send_to_plpy(self, level, text): def _send_to_plpy(self, level, text, exception=None):
exception_message = '. Exception: {}'.format(str(exception)) if exception else ''
message = '{}{}'.format(text, exception_message)
if self._check_plpy(): if self._check_plpy():
if level == 'debug': if level == 'debug':
plpy.debug(text) plpy.debug(message)
elif level == 'info': elif level == 'info':
plpy.info(text) plpy.info(message)
elif level == 'warning': elif level == 'warning':
plpy.warning(text) plpy.warning(message)
elif level == 'error': elif level == 'error':
# Plpy.error and fatal raises exceptions and we only want to # Plpy.error and fatal raises exceptions and we only want to
# log an error, exceptions should be raise explicitly # log an error, exceptions should be raise explicitly
plpy.warning(text) plpy.warning(message)
def _parse_log_extra_data(self, exception, data): def _parse_log_extra_data(self, exception, data):
extra_data = {} extra_data = {}