def publish(self, event, *args, **kwargs):
result = []<EOL>for subscriber in self.get_subscribers(event):<EOL><INDENT>try:<EOL><INDENT>value = subscriber(event, *args, **kwargs)<EOL><DEDENT>except Exception:<EOL><INDENT>logger.exception('<STR_LIT>')<EOL>value = None<EOL><DEDENT>result.append(value)<EOL><DEDENT>logger.debug('<STR_LIT>',<EOL>event, args, kwargs, result)<EOL>return result<EOL>
Publish a event and return a list of values returned by its
subscribers.

:param event: The event to publish.
:param args: The positional arguments to pass to the event's
             subscribers.
:param kwargs: The keyword arguments to pass to the event's
               subscribers.