Beispiel #1
0
def log_exception(message, extra=None, data=None):
    """Log exception if handling exception, error otherwise.

    It adds extra as key=val to the log message.
    If data is provided it's stored to fs and filename is added to extra info.

    :param message: error message
    :param extra: extra kwargs
    :param data: data that caused the error
    """
    if not extra:
        extra = {}
    if data:
        extra["file"] = save_error_data(data)
    for k, v in extra.items():
        message = "{} {}={}".format(message, k, v)
    if data:
        extra["data"] = data
    try:
        logger.exception(message, extra=extra)
    except AttributeError:
        # there is attribute error in python3.4 in case there is no exception context
        logger.error(message, extra=extra)
def log_exception(message, extra=None, data=None):
    """Log exception if handling exception, error otherwise.

    It adds extra as key=val to the log message.
    If data is provided it's stored to fs and filename is added to extra info.

    :param message: error message
    :param extra: extra kwargs
    :param data: data that caused the error
    """
    if not extra:
        extra = {}
    if data:
        extra['file'] = save_error_data(data)
    for k, v in extra.items():
        message = "{} {}={}".format(message, k, v)
    if data:
        extra['data'] = data
    try:
        logger.exception(message, extra=extra)
    except AttributeError:
        # there is attribute error in python3.4 in case there is no exception context
        logger.error(message, extra=extra)
Beispiel #3
0
 def test_save_error_data(self):
     filename = utils.save_error_data("foo")
     self.assertIn("superdesk", filename)
     with open(filename) as f:
         self.assertEqual("foo", f.read())
 def test_save_error_data(self):
     filename = utils.save_error_data('foo')
     self.assertIn('superdesk', filename)
     with open(filename) as f:
         self.assertEqual('foo', f.read())
 def test_save_error_data(self):
     filename = utils.save_error_data('foo')
     self.assertIn('superdesk', filename)
     with open(filename) as f:
         self.assertEqual('foo', f.read())