diff options
| author | Martin Winter <mwinter@opensourcerouting.org> | 2017-07-27 04:09:45 -0700 |
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2018-11-27 20:22:12 -0500 |
| commit | 9427b78f65ef04519e568a45374f59b67937e9d8 (patch) | |
| tree | fa3edcbd425176bb0b6da0492457a0035cc04a54 | |
| parent | c11c4cc7d3af2ee73b0eb39f56bd8059773b2048 (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.py | 20 |
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} |
