mirror of
https://github.com/pim-n/pg-rad
synced 2026-04-24 19:48:10 +02:00
add basic colouring
This commit is contained in:
@ -3,10 +3,13 @@ disable_existing_loggers: false
|
|||||||
formatters:
|
formatters:
|
||||||
simple:
|
simple:
|
||||||
format: '%(asctime)s - %(levelname)s: %(message)s'
|
format: '%(asctime)s - %(levelname)s: %(message)s'
|
||||||
|
colored:
|
||||||
|
'()': pg_rad.logger.logger.ColorFormatter
|
||||||
|
format: '%(asctime)s - %(levelname)s: %(message)s'
|
||||||
handlers:
|
handlers:
|
||||||
stdout:
|
stdout:
|
||||||
class: logging.StreamHandler
|
class: logging.StreamHandler
|
||||||
formatter: simple
|
formatter: colored
|
||||||
stream: ext://sys.stdout
|
stream: ext://sys.stdout
|
||||||
loggers:
|
loggers:
|
||||||
root:
|
root:
|
||||||
|
|||||||
@ -20,3 +20,21 @@ def setup_logger(log_level: str = "WARNING"):
|
|||||||
config["loggers"]["root"]["level"] = log_level
|
config["loggers"]["root"]["level"] = log_level
|
||||||
|
|
||||||
logging.config.dictConfig(config)
|
logging.config.dictConfig(config)
|
||||||
|
|
||||||
|
|
||||||
|
class ColorFormatter(logging.Formatter):
|
||||||
|
# ANSI escape codes
|
||||||
|
COLORS = {
|
||||||
|
logging.DEBUG: "\033[36m", # Cyan
|
||||||
|
logging.INFO: "\033[32m", # Green
|
||||||
|
logging.WARNING: "\033[33m", # Yellow
|
||||||
|
logging.ERROR: "\033[31m", # Red
|
||||||
|
logging.CRITICAL: "\033[41m", # Red background
|
||||||
|
}
|
||||||
|
RESET = "\033[0m"
|
||||||
|
|
||||||
|
def format(self, record):
|
||||||
|
color = self.COLORS.get(record.levelno, self.RESET)
|
||||||
|
record.levelname = f"{color}{record.levelname}{self.RESET}"
|
||||||
|
record.msg = f"{record.msg}"
|
||||||
|
return super().format(record)
|
||||||
|
|||||||
Reference in New Issue
Block a user