From dc17eccf7694e94ab0271cc9b83e20144e56074a Mon Sep 17 00:00:00 2001
From: hrz <1710360675@qq.com>
Date: Wed, 26 Mar 2025 10:15:00 +0800
Subject: [PATCH] =?UTF-8?q?add:=E5=9C=A8=E6=97=A5=E5=BF=97=E9=87=8C?=
=?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=89=88=E6=9C=AC=E4=BF=A1=E6=81=AF=20(#529)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
main/xiaozhi-server/config.yaml | 4 ++--
main/xiaozhi-server/config/logger.py | 18 +++++++++++++++---
main/xiaozhi-server/core/websocket_server.py | 2 --
3 files changed, 17 insertions(+), 7 deletions(-)
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协议地址,请勿用浏览器访问=======")