mirror of
https://github.com/kevingruesser/bootstrap-vz.git
synced 2025-08-24 07:26:29 +00:00
Move remote log stuff back into remote module
This commit is contained in:
parent
ece717a79f
commit
bc8967529d
4 changed files with 34 additions and 33 deletions
|
@ -102,34 +102,3 @@ class FileFormatter(SourceFormatter):
|
||||||
"""
|
"""
|
||||||
def format(self, record):
|
def format(self, record):
|
||||||
return super(FileFormatter, self).format(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)
|
|
||||||
|
|
32
bootstrapvz/remote/log.py
Normal file
32
bootstrapvz/remote/log.py
Normal file
|
@ -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)
|
|
@ -82,7 +82,7 @@ def run(manifest, build_server, debug=False, dry_run=False):
|
||||||
from callback import CallbackServer
|
from callback import CallbackServer
|
||||||
callback_server = CallbackServer(listen_port=build_server.local_callback_port,
|
callback_server = CallbackServer(listen_port=build_server.local_callback_port,
|
||||||
remote_port=build_server.remote_callback_port)
|
remote_port=build_server.remote_callback_port)
|
||||||
from bootstrapvz.base.log import LogServer
|
from log import LogServer
|
||||||
log_server = LogServer()
|
log_server = LogServer()
|
||||||
try:
|
try:
|
||||||
# Start the callback server (in a background thread)
|
# Start the callback server (in a background thread)
|
||||||
|
|
|
@ -15,7 +15,7 @@ def main():
|
||||||
|
|
||||||
|
|
||||||
def setup_logging():
|
def setup_logging():
|
||||||
from bootstrapvz.base.log import LogForwarder
|
from log import LogForwarder
|
||||||
log_forwarder = LogForwarder()
|
log_forwarder = LogForwarder()
|
||||||
root = logging.getLogger()
|
root = logging.getLogger()
|
||||||
root.addHandler(log_forwarder)
|
root.addHandler(log_forwarder)
|
||||||
|
|
Loading…
Add table
Reference in a new issue