diff --git a/unilabos/app/main.py b/unilabos/app/main.py index 110ca040..b65da8e9 100644 --- a/unilabos/app/main.py +++ b/unilabos/app/main.py @@ -180,6 +180,7 @@ def main(): working_dir = os.path.abspath(os.getcwd()) else: working_dir = os.path.abspath(os.path.join(os.getcwd(), "unilabos_data")) + if args_dict.get("working_dir"): working_dir = args_dict.get("working_dir", "") if config_path and not os.path.exists(config_path): @@ -211,6 +212,14 @@ def main(): # 加载配置文件 print_status(f"当前工作目录为 {working_dir}", "info") load_config_from_file(config_path) + + # 根据配置重新设置日志级别 + from unilabos.utils.log import configure_logger, logger + + if hasattr(BasicConfig, "log_level"): + logger.info(f"Log level set to '{BasicConfig.log_level}' from config file.") + configure_logger(loglevel=BasicConfig.log_level) + if args_dict["addr"] == "test": print_status("使用测试环境地址", "info") HTTPConfig.remote_addr = "https://uni-lab.test.bohrium.com/api/v1" diff --git a/unilabos/config/config.py b/unilabos/config/config.py index e0664449..b5bc6191 100644 --- a/unilabos/config/config.py +++ b/unilabos/config/config.py @@ -2,7 +2,7 @@ import base64 import traceback import os import importlib.util -from typing import Optional +from typing import Optional, Literal from unilabos.utils import logger @@ -18,6 +18,7 @@ class BasicConfig: vis_2d_enable = False enable_resource_load = True communication_protocol = "websocket" + log_level: Literal['TRACE', 'DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL'] = "DEBUG" # 'TRACE', 'DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL' @classmethod def auth_secret(cls):