faucet/log.py

37 lines
1.1 KiB
Python

import logging
from colorama import Fore, Style, init
# Initialize colorama for cross-platform color support
init(autoreset=True)
class ColorFormatter(logging.Formatter):
COLORS = {
logging.DEBUG: Fore.CYAN,
logging.INFO: Fore.GREEN,
logging.WARNING: Fore.YELLOW,
logging.ERROR: Fore.RED,
logging.CRITICAL: Fore.MAGENTA + Style.BRIGHT,
}
def format(self, record):
color = self.COLORS.get(record.levelno, "")
reset = Style.RESET_ALL
base_message = super().format(record)
return f"{color}{base_message}{reset}"
# Create your custom logger
logger = logging.getLogger("Selfbot")
logger.setLevel(logging.DEBUG)
logger.propagate = False # Don't leak into root logger
# Add a stream handler if not already present
if not logger.handlers:
handler = logging.StreamHandler()
handler.setLevel(logging.DEBUG)
formatter = ColorFormatter(
fmt="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
datefmt="%H:%M:%S"
)
handler.setFormatter(formatter)
logger.addHandler(handler)