diff --git a/main/xiaozhi-server/config.yaml b/main/xiaozhi-server/config.yaml index 2fe438cf..7289743b 100644 --- a/main/xiaozhi-server/config.yaml +++ b/main/xiaozhi-server/config.yaml @@ -24,9 +24,9 @@ server: # - "24:0A:C4:1D:3B:F0" # MAC地址列表 log: # 设置控制台输出的日志格式,时间、日志级别、标签、消息 - log_format: "{time:YY-MM-DD HH:mm:ss}[{extra[tag]}] - {level} - {message}" + log_format: "{time:YYMMDD HH:mm:ss}[{version}_{selected_module}][{extra[tag]}]-{level}-{message}" # 设置日志文件输出的格式,时间、日志级别、标签、消息 - log_format_simple: "{time:YYYY-MM-DD HH:mm:ss} - {name} - {level} - {extra[tag]} - {message}" + log_format_file: "{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}" # 设置日志等级:INFO、DEBUG log_level: INFO # 设置日志路径 diff --git a/main/xiaozhi-server/config/logger.py b/main/xiaozhi-server/config/logger.py index 99968ca1..2206e52c 100644 --- a/main/xiaozhi-server/config/logger.py +++ b/main/xiaozhi-server/config/logger.py @@ -3,12 +3,24 @@ import sys from loguru import logger from config.settings import load_config +SERVER_VERSION = "0.1.15" + def setup_logging(): """从配置文件中读取日志配置,并设置日志输出格式和级别""" config = load_config() log_config = config["log"] - log_format = log_config.get("log_format", "{time:YY-MM-DD HH:mm:ss}[{extra[tag]}] - {level} - {message}") - log_format_simple = log_config.get("log_format_file", "{time:YYYY-MM-DD HH:mm:ss} - {name} - {level} - {extra[tag]} - {message}") + log_format = log_config.get("log_format", "{time:YYMMDD HH:mm:ss}[{version}_{selected_module}][{extra[tag]}]-{level}-{message}") + log_format_file = log_config.get("log_format_file", "{time:YYYY-MM-DD HH:mm:ss} - {version_{selected_module}} - {name} - {level} - {extra[tag]} - {message}") + + selected_module = config.get("selected_module") + selected_module_str = ''.join([key[0] + value[0] for key, value in selected_module.items()]) + + log_format = log_format.replace("{version}", SERVER_VERSION) + log_format = log_format.replace("{selected_module}", selected_module_str) + log_format_file = log_format_file.replace("{version}", SERVER_VERSION) + log_format_file = log_format_file.replace("{selected_module}", selected_module_str) + + log_level = log_config.get("log_level", "INFO") log_dir = log_config.get("log_dir", "tmp") log_file = log_config.get("log_file", "server.log") @@ -24,6 +36,6 @@ def setup_logging(): logger.add(sys.stdout, format=log_format, level=log_level) # 输出到文件 - logger.add(os.path.join(log_dir, log_file), format=log_format_simple, level=log_level) + logger.add(os.path.join(log_dir, log_file), format=log_format_file, level=log_level) return logger diff --git a/main/xiaozhi-server/core/websocket_server.py b/main/xiaozhi-server/core/websocket_server.py index 41f14515..6aa9a06d 100644 --- a/main/xiaozhi-server/core/websocket_server.py +++ b/main/xiaozhi-server/core/websocket_server.py @@ -63,8 +63,6 @@ class WebSocketServer: server_config = self.config["server"] host = server_config["ip"] port = server_config["port"] - selected_module = self.config.get("selected_module") - self.logger.bind(tag=TAG).info(f"selected_module values: {', '.join(selected_module.values())}") self.logger.bind(tag=TAG).info("Server is running at ws://{}:{}", get_local_ip(), port) self.logger.bind(tag=TAG).info("=======上面的地址是websocket协议地址,请勿用浏览器访问=======")