forked from piair/MsRewards-Reborn
48 lines
1.2 KiB
Python
48 lines
1.2 KiB
Python
import logging
|
|
|
|
# ANSI escape codes for colors
|
|
COLOR_CODES = {
|
|
'RESET': '\033[0m',
|
|
'BOLD': '\033[1m',
|
|
'RED': '\033[31m',
|
|
'GREEN': '\033[32m',
|
|
'YELLOW': '\033[33m',
|
|
'BLUE': '\033[34m',
|
|
}
|
|
|
|
# Define colors for each log level
|
|
LOG_COLORS = {
|
|
'DEBUG': COLOR_CODES['BLUE'],
|
|
'INFO': COLOR_CODES['GREEN'],
|
|
'WARNING': COLOR_CODES['YELLOW'],
|
|
'ERROR': COLOR_CODES['RED'],
|
|
'CRITICAL': COLOR_CODES['BOLD'] + COLOR_CODES['RED'],
|
|
}
|
|
|
|
|
|
# Create a formatter with colors
|
|
class ColoredFormatter(logging.Formatter):
|
|
def format(self, record):
|
|
log_level = record.levelname
|
|
record.levelname = f"{LOG_COLORS.get(log_level, '')}{record.levelname}{COLOR_CODES['RESET']}"
|
|
return super().format(record)
|
|
|
|
|
|
# Set up the root logger
|
|
root_logger = logging.getLogger()
|
|
root_logger.setLevel(logging.INFO)
|
|
|
|
# Create a console handler and set the formatter
|
|
ch = logging.StreamHandler()
|
|
ch.setFormatter(ColoredFormatter('%(levelname)s: %(message)s'))
|
|
|
|
# Add the console handler to the root logger
|
|
root_logger.addHandler(ch)
|
|
|
|
# Define log level functions
|
|
debug = root_logger.debug
|
|
info = root_logger.info
|
|
warning = root_logger.warning
|
|
error = root_logger.error
|
|
critical = root_logger.critical
|