vpp/test/log.py
Klement Sekera e4504c6320 BFD: fix timing in the main loop
Properly wakeup the main process loop only when necessary to avoid
missed events. Improve BFD unit test reliability and speed. Add
timestamps to logs and replace Queue with more efficient deque.

Change-Id: I01255a02057d3146917b43b669ccdc74f31ef0c8
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2016-12-09 09:00:26 +00:00

73 lines
1.8 KiB
Python

#!/usr/bin/env python
import sys
import os
import logging
""" @var formatting delimiter consisting of '=' characters """
double_line_delim = '=' * 70
""" @var formatting delimiter consisting of '-' characters """
single_line_delim = '-' * 70
def colorize(msg, color):
return color + msg + COLOR_RESET
class ColorFormatter(logging.Formatter):
def init(self, fmt=None, datefmt=None):
super(ColorFormatter, self).__init__(fmt, datefmt)
def format(self, record):
message = super(ColorFormatter, self).format(record)
if hasattr(record, 'color'):
message = colorize(message, record.color)
return message
handler = logging.StreamHandler(sys.stdout)
handler.setFormatter(ColorFormatter(fmt='%(asctime)s,%(msecs)03d %(message)s',
datefmt="%H:%M:%S"))
global_logger = logging.getLogger()
global_logger.addHandler(handler)
try:
verbose = int(os.getenv("V", 0))
except:
verbose = 0
# 40 = ERROR, 30 = WARNING, 20 = INFO, 10 = DEBUG, 0 = NOTSET (all messages)
if verbose >= 2:
log_level = 10
elif verbose == 1:
log_level = 20
else:
log_level = 40
scapy_logger = logging.getLogger("scapy.runtime")
scapy_logger.setLevel(logging.ERROR)
def getLogger(name):
logger = logging.getLogger(name)
logger.setLevel(log_level)
return logger
# Static variables to store color formatting strings.
#
# These variables (RED, GREEN, YELLOW and LPURPLE) are used to configure
# the color of the text to be printed in the terminal. Variable COLOR_RESET
# is used to revert the text color to the default one.
if hasattr(sys.stdout, 'isatty') and sys.stdout.isatty():
RED = '\033[91m'
GREEN = '\033[92m'
YELLOW = '\033[93m'
LPURPLE = '\033[94m'
COLOR_RESET = '\033[0m'
else:
RED = ''
GREEN = ''
YELLOW = ''
LPURPLE = ''
COLOR_RESET = ''