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

1# logger.py 

2 

3from __future__ import annotations 

4 

5import logging 

6 

7reset_color = "\33[0m" 

8FMT = "[{levelname:^7}] {name}: {message}" 

9 

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} 

17 

18 

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) 

24 

25 

26handler = logging.StreamHandler() 

27handler.setFormatter(CustomFormatter())