From bc8967529dfa3f8e96aebf64a4fa2822265630c7 Mon Sep 17 00:00:00 2001 From: Anders Ingemann Date: Sun, 30 Nov 2014 15:58:05 +0100 Subject: [PATCH] Move remote log stuff back into remote module --- bootstrapvz/base/log.py | 31 ------------------------------- bootstrapvz/remote/log.py | 32 ++++++++++++++++++++++++++++++++ bootstrapvz/remote/main.py | 2 +- bootstrapvz/remote/server.py | 2 +- 4 files changed, 34 insertions(+), 33 deletions(-) create mode 100644 bootstrapvz/remote/log.py diff --git a/bootstrapvz/base/log.py b/bootstrapvz/base/log.py index 0083eb5..8b01b04 100644 --- a/bootstrapvz/base/log.py +++ b/bootstrapvz/base/log.py @@ -102,34 +102,3 @@ class FileFormatter(SourceFormatter): """ def format(self, record): return super(FileFormatter, self).format(record) - - -class LogForwarder(logging.Handler): - - def __init__(self, level=logging.NOTSET): - self.server = None - super(LogForwarder, self).__init__(level) - - def set_server(self, server): - self.server = server - - def emit(self, record): - if self.server is not None: - if record.exc_info is not None: - import traceback - exc_type, exc_value, exc_traceback = record.exc_info - record.exc_info = traceback.print_exception(exc_type, exc_value, exc_traceback) - # TODO: Use serpent instead - import pickle - self.server.handle(pickle.dumps(record)) - - -class LogServer(object): - - def handle(self, pickled_record): - import pickle - record = pickle.loads(pickled_record) - log = logging.getLogger() - record.extra = getattr(record, 'extra', {}) - record.extra['source'] = 'remote' - log.handle(record) diff --git a/bootstrapvz/remote/log.py b/bootstrapvz/remote/log.py new file mode 100644 index 0000000..793ffea --- /dev/null +++ b/bootstrapvz/remote/log.py @@ -0,0 +1,32 @@ +import logging + + +class LogForwarder(logging.Handler): + + def __init__(self, level=logging.NOTSET): + self.server = None + super(LogForwarder, self).__init__(level) + + def set_server(self, server): + self.server = server + + def emit(self, record): + if self.server is not None: + if record.exc_info is not None: + import traceback + exc_type, exc_value, exc_traceback = record.exc_info + record.exc_info = traceback.print_exception(exc_type, exc_value, exc_traceback) + # TODO: Use serpent instead + import pickle + self.server.handle(pickle.dumps(record)) + + +class LogServer(object): + + def handle(self, pickled_record): + import pickle + record = pickle.loads(pickled_record) + log = logging.getLogger() + record.extra = getattr(record, 'extra', {}) + record.extra['source'] = 'remote' + log.handle(record) diff --git a/bootstrapvz/remote/main.py b/bootstrapvz/remote/main.py index 2f52803..0289b15 100644 --- a/bootstrapvz/remote/main.py +++ b/bootstrapvz/remote/main.py @@ -82,7 +82,7 @@ def run(manifest, build_server, debug=False, dry_run=False): from callback import CallbackServer callback_server = CallbackServer(listen_port=build_server.local_callback_port, remote_port=build_server.remote_callback_port) - from bootstrapvz.base.log import LogServer + from log import LogServer log_server = LogServer() try: # Start the callback server (in a background thread) diff --git a/bootstrapvz/remote/server.py b/bootstrapvz/remote/server.py index 045ecac..2d43f44 100644 --- a/bootstrapvz/remote/server.py +++ b/bootstrapvz/remote/server.py @@ -15,7 +15,7 @@ def main(): def setup_logging(): - from bootstrapvz.base.log import LogForwarder + from log import LogForwarder log_forwarder = LogForwarder() root = logging.getLogger() root.addHandler(log_forwarder)