diff options
-rw-r--r-- | src/leap/bitmask/logs/safezmqhandler.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/leap/bitmask/logs/safezmqhandler.py b/src/leap/bitmask/logs/safezmqhandler.py index 4f7aca9b..4b3d26c7 100644 --- a/src/leap/bitmask/logs/safezmqhandler.py +++ b/src/leap/bitmask/logs/safezmqhandler.py @@ -19,9 +19,11 @@ A thread-safe zmq handler for LogBook. """ import json import threading +from distutils import LooseVersion from logbook.queues import ZeroMQHandler from logbook import NOTSET +from logbook import __version__ as LOGBOOK_VERSION import zmq @@ -53,8 +55,13 @@ class SafeZMQHandler(ZeroMQHandler): # instead of calling the ZeroMQHandler's one. # The best approach may be to inherit directly from `logbook.Handler`. - ZeroMQHandler.__init__(self, uri, level, filter, bubble, context, - multi) + args = (self, uri, level, filter, bubble, context) + + # Workaround for an API change: version 0.6.0 in trusty doesn't accepts + # the multi parameter. + if LooseVersion(LOGBOOK_VERSION) >= LooseVersion('0.7.0'): + args += (multi,) + ZeroMQHandler.__init__(*args) current_id = self._get_caller_id() # we store the socket created on the parent |