From 4b6d58115c4995b7c51c4b1cf4600596c4d9fc94 Mon Sep 17 00:00:00 2001 From: gentnerlab Date: Tue, 19 Mar 2019 11:59:31 -0700 Subject: [PATCH] zmq logging --- pyoperant/behavior/base.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pyoperant/behavior/base.py b/pyoperant/behavior/base.py index 582cd595..af53eaf6 100755 --- a/pyoperant/behavior/base.py +++ b/pyoperant/behavior/base.py @@ -5,6 +5,8 @@ from pyoperant import ComponentError, InterfaceError from pyoperant.behavior import shape import random +import zmq +from zmq.log.handlers import PUBHandler try: import simplejson as json @@ -101,6 +103,15 @@ def log_config(self): format='"%(asctime)s","%(levelname)s","%(message)s"') self.log = logging.getLogger() + # setup ZMQ log handler + ctx = zmq.Context() + pub = ctx.socket(zmq.PUB) + pub.bind('tcp://*:31967') + self.pub_handler = PUBHandler(pub) + self.pub_handler.root_topic = socket.gethostname() + self.log.addHandler(self.pub_handler) + + if 'email' in self.parameters['log_handlers']: from pyoperant.local import SMTP_CONFIG from logging import handlers