'Forward to next observer if predicate allows it.'

def __call__(self, event):

    if self._shouldLogEvent(event):
        if ('log_trace' in event):
            event['log_trace'].append((self, self.observer))
        self._observer(event)
    else:
        self._negativeObserver(event)
