Coverage for src/pyselector/logger.py: 75%
12 statements
« prev ^ index » next coverage.py v7.2.2, created at 2023-03-24 11:53 -0300
« prev ^ index » next coverage.py v7.2.2, created at 2023-03-24 11:53 -0300
1# logger.py
3from __future__ import annotations
5import logging
7reset_color = "\33[0m"
8FMT = "[{levelname:^7}] {name}: {message}"
10FORMATS = {
11 logging.DEBUG: FMT,
12 logging.INFO: f"\33[36m{FMT}{reset_color}",
13 logging.WARNING: f"\33[33m{FMT}\33[0m",
14 logging.ERROR: f"\33[31m{FMT}\33[0m",
15 logging.CRITICAL: f"\33[1m\33[31m{FMT}\33[0m",
16}
19class CustomFormatter(logging.Formatter):
20 def format(self, record):
21 log_fmt = FORMATS[record.levelno]
22 formatter = logging.Formatter(log_fmt, style="{")
23 return formatter.format(record)
26handler = logging.StreamHandler()
27handler.setFormatter(CustomFormatter())