cli: simplify log handler
This commit is contained in:
@@ -1,9 +1,6 @@
|
|||||||
import datetime
|
|
||||||
import logging
|
import logging
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
|
|
||||||
class CustomFormatter(logging.Formatter):
|
|
||||||
grey = "\x1b[38;20m"
|
grey = "\x1b[38;20m"
|
||||||
yellow = "\x1b[33;20m"
|
yellow = "\x1b[33;20m"
|
||||||
red = "\x1b[31;20m"
|
red = "\x1b[31;20m"
|
||||||
@@ -11,28 +8,26 @@ class CustomFormatter(logging.Formatter):
|
|||||||
green = "\u001b[32m"
|
green = "\u001b[32m"
|
||||||
blue = "\u001b[34m"
|
blue = "\u001b[34m"
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def format_str(color: str) -> str:
|
|
||||||
reset = "\x1b[0m"
|
|
||||||
return f"{color}%(levelname)s{reset}:(%(filename)s:%(lineno)d): %(message)s"
|
|
||||||
|
|
||||||
FORMATS = {
|
def get_formatter(color: str) -> logging.Formatter:
|
||||||
logging.DEBUG: format_str(blue),
|
reset = "\x1b[0m"
|
||||||
logging.INFO: format_str(green),
|
return logging.Formatter(
|
||||||
logging.WARNING: format_str(yellow),
|
f"{color}%(levelname)s{reset}:(%(filename)s:%(lineno)d): %(message)s"
|
||||||
logging.ERROR: format_str(red),
|
)
|
||||||
logging.CRITICAL: format_str(bold_red),
|
|
||||||
|
|
||||||
|
FORMATTER = {
|
||||||
|
logging.DEBUG: get_formatter(blue),
|
||||||
|
logging.INFO: get_formatter(green),
|
||||||
|
logging.WARNING: get_formatter(yellow),
|
||||||
|
logging.ERROR: get_formatter(red),
|
||||||
|
logging.CRITICAL: get_formatter(bold_red),
|
||||||
}
|
}
|
||||||
|
|
||||||
def format_time(self, record: Any, datefmt: Any = None) -> str:
|
|
||||||
now = datetime.datetime.now()
|
|
||||||
return now.strftime("%H:%M:%S")
|
|
||||||
|
|
||||||
|
class CustomFormatter(logging.Formatter):
|
||||||
def format(self, record: Any) -> str:
|
def format(self, record: Any) -> str:
|
||||||
log_fmt = self.FORMATS.get(record.levelno)
|
return FORMATTER[record.levelno].format(record)
|
||||||
formatter = logging.Formatter(log_fmt)
|
|
||||||
formatter.formatTime = self.format_time
|
|
||||||
return formatter.format(record)
|
|
||||||
|
|
||||||
|
|
||||||
def register(level: Any) -> None:
|
def register(level: Any) -> None:
|
||||||
|
|||||||
Reference in New Issue
Block a user