refactor: init logger by config file instead function params

This commit is contained in:
2025-10-27 11:14:10 +08:00
parent 52d1bc5cf4
commit dd4e0c24a8
2 changed files with 13 additions and 10 deletions

View File

@@ -6,9 +6,7 @@ import argparse
from venv import logger from venv import logger
import uvicorn import uvicorn
from app.api import api from app.api import api
from utils import obs, ocr, vsdb from utils import obs, ocr, vsdb, logger, config
from utils.config import get_instance as get_config, init as init_config
from utils.logger import init as init_logger
from storage import people_store from storage import people_store
# 主函数 # 主函数
@@ -17,16 +15,14 @@ def main():
parser = argparse.ArgumentParser(description='IF.u 服务') parser = argparse.ArgumentParser(description='IF.u 服务')
parser.add_argument('--config', type=str, default=os.path.join(main_path, '../configuration/test_conf.ini'), help='配置文件路径') parser.add_argument('--config', type=str, default=os.path.join(main_path, '../configuration/test_conf.ini'), help='配置文件路径')
args = parser.parse_args() args = parser.parse_args()
init_logger(log_level=logging.DEBUG) config.init(args.config)
logger.info(f"args.config: {args.config}") logger.init()
init_config(args.config)
config = get_config()
print(config.sections())
obs.init() obs.init()
ocr.init() ocr.init()
vsdb.init() vsdb.init()
people_store.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) uvicorn.run(api, host="127.0.0.1", port=port)
if __name__ == "__main__": if __name__ == "__main__":

View File

@@ -1,6 +1,7 @@
import logging import logging
import os import os
from datetime import datetime from datetime import datetime
from .config import get_instance as get_config
# 定义颜色代码 # 定义颜色代码
class Colors: class Colors:
@@ -35,7 +36,13 @@ class ColoredConsoleHandler(logging.StreamHandler):
self.stream.write(f"{color}{message}{Colors.RESET}\n") self.stream.write(f"{color}{message}{Colors.RESET}\n")
self.flush() 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目录如果不存在 # 创建logs目录如果不存在
if not os.path.exists(log_dir): if not os.path.exists(log_dir):
os.makedirs(log_dir) os.makedirs(log_dir)