Source code for towerpy.base
"""Towerpy: an open-source toolbox for processing polarimetric radar data."""
import traceback
import logging
[docs]
class TowerpyError(Exception):
"""Error towerpy class."""
def __init__(self, message, inner=None):
super(TowerpyError, self).__init__()
[docs]
self.message = 'TowerpyError: {}'.format(message)
[docs]
self.traceback = traceback.format_stack()
[docs]
def __str__(self):
return self.message
[docs]
class TowerpyLog(object):
"""Log Towerpy class."""
def __init__(self, level=None):
[docs]
self.logger = logging.getLogger()
if level:
handler = logging.StreamHandler()
self.logger.setLevel(level)
else:
handler = logging.NullHandler()
self.logger.addHandler(handler)
[docs]
def debug(self, *args):
self.logger.debug(args[0].format(*args[1:]))
[docs]
def info(self, *args):
self.logger.info(args[0].format(*args[1:]))
[docs]
def warning(self, *args):
self.logger.warning(args[0].format(*args[1:]))
[docs]
def error(self, *args):
self.logger.error(args[0].format(*args[1:]))
[docs]
def exception(self, e):
self.logger.error('{} {}', e, traceback.format_exc())