'Handle logging of generic exceptions.
:param node: dictionary of node to log the error for
:param typ: server type
:param additional_info: additional information to log'

def exception_occurred(self, node, typ, additional_info, **kwargs):

    self._incr_node_errors(node)
    if ('level' in kwargs):
        log = functools.partial(self.logger.log, kwargs.pop('level'))
        if ('exc_info' not in kwargs):
            kwargs['exc_info'] = sys.exc_info()
    else:
        log = self.logger.exception
    log(_('ERROR    with    %(type)s    server    %(ip)s:%(port)s/%(device)s    re:    %(info)s'), {'type': typ, 'ip': node['ip'], 'port': node['port'], 'device': node['device'], 'info': additional_info.decode('utf-8')}, **kwargs)
