def setup_logger() -> None:
global _logger_setup
if not _logger_setup:
try:
from ctypes import windll
windll.kernel32.SetConsoleMode(windll.kernel32.GetStdHandle(-11), 7)
except ImportError:
...
logging.basicConfig(format='{asctime}: {name}: {levelname}: {message}', style='{', level=LOG_LEVEL)
logging.Formatter.default_msec_format = '%s.%03d'
if sys.stdout.isatty():
logging.addLevelName(
logging.DEBUG, "\033[0;32m%s\033[0m" % logging.getLevelName(logging.DEBUG)
)
logging.addLevelName(
logging.INFO, "\033[1;33m%s\033[0m" % logging.getLevelName(logging.INFO)
)
logging.addLevelName(
logging.WARNING, "\033[1;35m%s\033[1;0m" % logging.getLevelName(logging.WARNING)
)
logging.addLevelName(
logging.ERROR, "\033[1;41m%s\033[1;0m" % logging.getLevelName(logging.ERROR)
)
_logger_setup = True