From 18836a44952929a47f5f65d93667472816e9eb8f Mon Sep 17 00:00:00 2001 From: Marco Capitani Date: Fri, 21 Apr 2017 16:56:03 +0200 Subject: rumba: log: Simplified configuration, small fixes --- rumba/log.py | 53 +++++++++++++++++-------------------------- rumba/testbeds/emulab.py | 3 --- rumba/testbeds/faketestbed.py | 3 --- rumba/testbeds/jfed.py | 5 +--- 4 files changed, 22 insertions(+), 42 deletions(-) diff --git a/rumba/log.py b/rumba/log.py index c9c3c01..ebb76dc 100644 --- a/rumba/log.py +++ b/rumba/log.py @@ -5,46 +5,35 @@ import sys import multiprocessing -config_lock = multiprocessing.Lock() +def setup(): + handler = logging.StreamHandler(sys.stdout) + handler.lock = multiprocessing.RLock() + logging.basicConfig(format='{asctime} | {levelname:8.8} | ' + '{name:15.15} | {message}', + style='{', + handlers=[handler], + level=logging.DEBUG) + logging.getLogger('').setLevel(logging.ERROR) -class _LoggingConfigurator(object): +# Used for the first call, in order to configure logging +def _get_logger_with_setup(name): + setup() + # Swap _get_logger implementation to the setup-less version. + global _get_logger + _get_logger = _get_logger_without_setup + return logging.getLogger(name) - is_done = False - def setup(self): - with config_lock: - if not self.is_done: - # Double check, so we only configure once. - handler = logging.StreamHandler(sys.stdout) - handler.lock = multiprocessing.RLock() - logging.basicConfig(format='{asctime} | {levelname:8.8} | ' - '{name:15.15} | {message}', - style='{', - handlers=[handler], - level=logging.DEBUG) - logging.getLogger('').setLevel(logging.ERROR) - global configurator - configurator = _SkipLoggingConfigurator() - else: - pass +# Then this one is used. +def _get_logger_without_setup(name): + return logging.getLogger(name) - def get_logger(self, name): - self.setup() - return logging.getLogger(name) - -class _SkipLoggingConfigurator(object): - - @staticmethod - def get_logger(name): - return logging.getLogger(name) - - -configurator = _LoggingConfigurator() +_get_logger = _get_logger_with_setup def get_logger(name): - logger = configurator.get_logger(name.split('.')[-1]) + logger = _get_logger(name.split('.')[-1]) logger.setLevel(logging.DEBUG) return logger diff --git a/rumba/testbeds/emulab.py b/rumba/testbeds/emulab.py index cc7ce76..e7458bc 100644 --- a/rumba/testbeds/emulab.py +++ b/rumba/testbeds/emulab.py @@ -247,6 +247,3 @@ class Testbed(mod.Testbed): self.swap_exp_in() self.wait_until_nodes_up() self.complete_experiment_graph(experiment) - - def swap_out(self, experiment): - pass diff --git a/rumba/testbeds/faketestbed.py b/rumba/testbeds/faketestbed.py index c1cd865..10d2580 100644 --- a/rumba/testbeds/faketestbed.py +++ b/rumba/testbeds/faketestbed.py @@ -33,6 +33,3 @@ class Testbed(mod.Testbed): def swap_in(self, experiment): logger.info("[Fake testbed] experiment swapped in") - - def swap_out(self, experiment): - pass diff --git a/rumba/testbeds/jfed.py b/rumba/testbeds/jfed.py index 1c0f992..5394146 100644 --- a/rumba/testbeds/jfed.py +++ b/rumba/testbeds/jfed.py @@ -54,7 +54,7 @@ class Testbed(mod.Testbed): self.image = None if not os.path.exists(self.jfed_jar): - logger.warning("Couldn't find jFed CLI. Downloading.") + logger.info("Couldn't find jFed CLI. Downloading.") tarball = "jfed_cli.tar.gz" url = "http://jfed.iminds.be/downloads/stable/jar/" + tarball wget.download(url) @@ -183,6 +183,3 @@ class Testbed(mod.Testbed): ipcp.ifname = comp_arr[-1] # xml_ip = intf.getElementsByTagName("ip") # interface.ip = xml_ip[0].getAttribute("address") - - def swap_out(self, experiment): - pass -- cgit v1.2.3