
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>
73 lines
1.8 KiB
Python
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 = ''
|