##// END OF EJS Templates
add log_errors decorator for on_recv callbacks...
add log_errors decorator for on_recv callbacks Logs uncaught exceptions, rather than allowing them to raise, which would cause the socket to be closed, preventing further requests. Reduces impact of bugs like the one fixed in the previous commit.

File last commit:

r3603:600411fc
r6324:7c84fd02
Show More
log.py
23 lines | 687 B | text/x-python | PythonLexer
import logging
from logging import INFO, DEBUG, WARN, ERROR, FATAL
import zmq
from zmq.log.handlers import PUBHandler
class EnginePUBHandler(PUBHandler):
"""A simple PUBHandler subclass that sets root_topic"""
engine=None
def __init__(self, engine, *args, **kwargs):
PUBHandler.__init__(self,*args, **kwargs)
self.engine = engine
@property
def root_topic(self):
"""this is a property, in case the handler is created
before the engine gets registered with an id"""
if isinstance(getattr(self.engine, 'id', None), int):
return "engine.%i"%self.engine.id
else:
return "engine"