AIstudioProxyAPI / launcher /logging_setup.py
peijun1's picture
Deploy AI Studio Proxy API to Hugging Face Spaces
a5784e9
Raw
History Blame Contribute Delete
1.6 kB
import logging
import logging.handlers
import os
import sys
from launcher.config import LAUNCHER_LOG_FILE_PATH, LOG_DIR
from logging_utils import GridFormatter, PlainGridFormatter, set_source
logger = logging.getLogger("CamoufoxLauncher")
def setup_launcher_logging(log_level: int = logging.INFO) -> None:
"""
Set up launcher logging system (using GridFormatter)
Args:
log_level: Log level
"""
os.makedirs(LOG_DIR, exist_ok=True)
# Set source to LAUNCHER
set_source("LAUNCHER")
# Use PlainGridFormatter for file logging
file_log_formatter = PlainGridFormatter()
# Use GridFormatter for console (colored output)
console_log_formatter = GridFormatter(show_tree=True, colorize=True)
if logger.hasHandlers():
logger.handlers.clear()
logger.setLevel(log_level)
logger.propagate = False
if os.path.exists(LAUNCHER_LOG_FILE_PATH):
try:
os.remove(LAUNCHER_LOG_FILE_PATH)
except OSError:
pass
file_handler = logging.handlers.RotatingFileHandler(
LAUNCHER_LOG_FILE_PATH,
maxBytes=10 * 1024 * 1024, # 10MB
backupCount=5,
encoding="utf-8",
mode="w",
)
file_handler.setFormatter(file_log_formatter)
logger.addHandler(file_handler)
stream_handler = logging.StreamHandler(sys.stderr)
stream_handler.setFormatter(console_log_formatter)
logger.addHandler(stream_handler)
logger.info(f"Log level set to: {logging.getLevelName(logger.getEffectiveLevel())}")
logger.debug(f"Log file path: {LAUNCHER_LOG_FILE_PATH}")