From dd4e0c24a8e1611b5d3ab47d6bb76c686fe81bc2 Mon Sep 17 00:00:00 2001 From: mamamiyear Date: Mon, 27 Oct 2025 11:14:10 +0800 Subject: [PATCH] refactor: init logger by config file instead function params --- src/main.py | 14 +++++--------- src/utils/logger.py | 9 ++++++++- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/main.py b/src/main.py index e361b3c..66221cd 100644 --- a/src/main.py +++ b/src/main.py @@ -6,9 +6,7 @@ import argparse from venv import logger import uvicorn from app.api import api -from utils import obs, ocr, vsdb -from utils.config import get_instance as get_config, init as init_config -from utils.logger import init as init_logger +from utils import obs, ocr, vsdb, logger, config from storage import people_store # 主函数 @@ -17,16 +15,14 @@ def main(): parser = argparse.ArgumentParser(description='IF.u 服务') parser.add_argument('--config', type=str, default=os.path.join(main_path, '../configuration/test_conf.ini'), help='配置文件路径') args = parser.parse_args() - init_logger(log_level=logging.DEBUG) - logger.info(f"args.config: {args.config}") - init_config(args.config) - config = get_config() - print(config.sections()) + config.init(args.config) + logger.init() obs.init() ocr.init() vsdb.init() people_store.init() - port = config.getint('web_service', 'server_port', fallback=8099) + conf = config.get_instance() + port = conf.getint('web_service', 'server_port', fallback=8099) uvicorn.run(api, host="127.0.0.1", port=port) if __name__ == "__main__": diff --git a/src/utils/logger.py b/src/utils/logger.py index e88c882..c2787fe 100644 --- a/src/utils/logger.py +++ b/src/utils/logger.py @@ -1,6 +1,7 @@ import logging import os from datetime import datetime +from .config import get_instance as get_config # 定义颜色代码 class Colors: @@ -35,7 +36,13 @@ class ColoredConsoleHandler(logging.StreamHandler): self.stream.write(f"{color}{message}{Colors.RESET}\n") self.flush() -def init(log_dir="logs", log_file="log", log_level=logging.INFO, console_log_level=logging.DEBUG): +def init(): + config = get_config() + log_dir = config.get("log", "log_dir", fallback="logs") + log_file = config.get("log", "log_file", fallback="if.u.service") + log_level = config.get("log", "log_level", fallback=logging.INFO) + console_log_level = config.get("log", "console_log_level", fallback=logging.DEBUG) + # 创建logs目录(如果不存在) if not os.path.exists(log_dir): os.makedirs(log_dir)