| 36 | |
| 37 | # 配置日志系统 |
| 38 | def setup_logging(): |
| 39 | logs_dir = os.path.join(os.path.dirname(__file__), "logs") |
| 40 | os.makedirs(logs_dir, exist_ok=True) |
| 41 | current_date = datetime.datetime.now().strftime("%Y-%m-%d %H-%M-%S") |
| 42 | log_file = os.path.join(logs_dir, f"log_{current_date}.log") |
| 43 | global_state.LOG_PATH = log_file |
| 44 | |
| 45 | root_logger = logging.getLogger() |
| 46 | |
| 47 | for handler in root_logger.handlers[:]: |
| 48 | root_logger.removeHandler(handler) |
| 49 | |
| 50 | root_logger.setLevel(logging.INFO) |
| 51 | |
| 52 | file_handler = logging.FileHandler(log_file, encoding="utf-8", mode="a") |
| 53 | file_handler.setLevel(logging.INFO) |
| 54 | |
| 55 | console_handler = logging.StreamHandler() |
| 56 | console_handler.setLevel(logging.INFO) |
| 57 | |
| 58 | formatter = logging.Formatter( |
| 59 | "%(asctime)s - %(name)s - %(levelname)s - %(message)s" |
| 60 | ) |
| 61 | file_handler.setFormatter(formatter) |
| 62 | console_handler.setFormatter(formatter) |
| 63 | |
| 64 | root_logger.addHandler(file_handler) |
| 65 | root_logger.addHandler(console_handler) |
| 66 | |
| 67 | logging.info("Logging system initialized, log file: %s", log_file) |
| 68 | logging.getLogger("httpx").setLevel(logging.WARNING) |
| 69 | logging.getLogger("LiteLLM").setLevel(logging.WARNING) |
| 70 | return log_file |
| 71 | |
| 72 | |
| 73 | def return_log_file(): |