summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Winter <mwinter@opensourcerouting.org>2017-07-27 04:09:45 -0700
committerDonald Sharp <sharpd@cumulusnetworks.com>2018-11-27 20:22:12 -0500
commit9427b78f65ef04519e568a45374f59b67937e9d8 (patch)
treefa3edcbd425176bb0b6da0492457a0035cc04a54
parentc11c4cc7d3af2ee73b0eb39f56bd8059773b2048 (diff)
lib: Change topology to output INFO and DEBUG to stdout and other levels to stderr
Previously, all logs were sent to stderr
-rw-r--r--tests/topotests/lib/topolog.py20
1 files changed, 17 insertions, 3 deletions
diff --git a/tests/topotests/lib/topolog.py b/tests/topotests/lib/topolog.py
index 3a383c8e73..f149f34eb3 100644
--- a/tests/topotests/lib/topolog.py
+++ b/tests/topotests/lib/topolog.py
@@ -39,6 +39,10 @@ DEBUG_TOPO2LOGGING = {
'critical': logging.CRITICAL,
}
+class InfoFilter(logging.Filter):
+ def filter(self, rec):
+ return rec.levelno in (logging.DEBUG, logging.INFO)
+
#
# Logger class definition
#
@@ -55,11 +59,21 @@ class Logger(object):
# Create default global logger
self.log_level = logging.INFO
self.logger = logging.Logger('topolog', level=self.log_level)
- handler = logging.StreamHandler()
- handler.setFormatter(
+
+ handler_stdout = logging.StreamHandler(sys.stdout)
+ handler_stdout.setLevel(logging.DEBUG)
+ handler_stdout.addFilter(InfoFilter())
+ handler_stdout.setFormatter(
logging.Formatter(fmt='%(asctime)s %(levelname)s: %(message)s')
)
- self.logger.addHandler(handler)
+ handler_stderr = logging.StreamHandler()
+ handler_stderr.setLevel(logging.WARNING)
+ handler_stderr.setFormatter(
+ logging.Formatter(fmt='%(asctime)s %(levelname)s: %(message)s')
+ )
+
+ self.logger.addHandler(handler_stdout)
+ self.logger.addHandler(handler_stderr)
# Handle more loggers
self.loggers = {'topolog': self.logger}