refactor(logger): 优化日志配置以增强可读性和一致性

重构日志模块,引入MAIN_STYLE_CONFIG和INTEREST_STYLE_CONFIG配置,统一日志格式。通过LogConfig类传递配置参数,确保日志输出在不同模块中保持一致性和可读性。
This commit is contained in:
墨梓柒
2025-04-23 23:04:30 +08:00
parent 3ca1df3e21
commit c727929bcf
3 changed files with 51 additions and 4 deletions

View File

@@ -70,6 +70,24 @@ else:
} }
MAIN_STYLE_CONFIG = {
"advanced": {
"console_format": (
"<white>{time:YYYY-MM-DD HH:mm:ss}</white> | "
"<level>{level: <8}</level> | "
"<light-yellow>主程序</light-yellow> | "
"<level>{message}</level>"
),
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 主程序 | {message}",
},
"simple": {
"console_format": (
"<level>{time:MM-DD HH:mm}</level> | <light-yellow>主程序</light-yellow> | <light-yellow>{message}</light-yellow>"
),
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 主程序 | {message}",
},
}
# 海马体日志样式配置 # 海马体日志样式配置
MEMORY_STYLE_CONFIG = { MEMORY_STYLE_CONFIG = {
"advanced": { "advanced": {
@@ -364,12 +382,32 @@ LPMM_STYLE_CONFIG = {
}, },
} }
# 兴趣log
INTEREST_STYLE_CONFIG = {
"advanced": {
"console_format": (
"<white>{time:YYYY-MM-DD HH:mm:ss}</white> | "
"<level>{level: <8}</level> | "
"<light-yellow>兴趣</light-yellow> | "
"<level>{message}</level>"
),
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 兴趣 | {message}",
},
"simple": {
"console_format": (
"<level>{time:MM-DD HH:mm}</level> | <light-green>兴趣</light-green> | <light-green>{message}</light-green>"
),
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 兴趣 | {message}",
},
}
CONFIRM_STYLE_CONFIG = { CONFIRM_STYLE_CONFIG = {
"console_format": "<RED>{message}</RED>", # noqa: E501 "console_format": "<RED>{message}</RED>", # noqa: E501
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | EULA与PRIVACY确认 | {message}", "file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | EULA与PRIVACY确认 | {message}",
} }
# 根据SIMPLE_OUTPUT选择配置 # 根据SIMPLE_OUTPUT选择配置
MAIN_STYLE_CONFIG = MAIN_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else MAIN_STYLE_CONFIG["advanced"]
MEMORY_STYLE_CONFIG = MEMORY_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else MEMORY_STYLE_CONFIG["advanced"] MEMORY_STYLE_CONFIG = MEMORY_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else MEMORY_STYLE_CONFIG["advanced"]
TOPIC_STYLE_CONFIG = TOPIC_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else TOPIC_STYLE_CONFIG["advanced"] TOPIC_STYLE_CONFIG = TOPIC_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else TOPIC_STYLE_CONFIG["advanced"]
SENDER_STYLE_CONFIG = SENDER_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else SENDER_STYLE_CONFIG["advanced"] SENDER_STYLE_CONFIG = SENDER_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else SENDER_STYLE_CONFIG["advanced"]
@@ -388,6 +426,7 @@ CONFIG_STYLE_CONFIG = CONFIG_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else CONFIG
TOOL_USE_STYLE_CONFIG = TOOL_USE_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else TOOL_USE_STYLE_CONFIG["advanced"] TOOL_USE_STYLE_CONFIG = TOOL_USE_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else TOOL_USE_STYLE_CONFIG["advanced"]
PFC_STYLE_CONFIG = PFC_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else PFC_STYLE_CONFIG["advanced"] PFC_STYLE_CONFIG = PFC_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else PFC_STYLE_CONFIG["advanced"]
LPMM_STYLE_CONFIG = LPMM_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else LPMM_STYLE_CONFIG["advanced"] LPMM_STYLE_CONFIG = LPMM_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else LPMM_STYLE_CONFIG["advanced"]
INTEREST_STYLE_CONFIG = INTEREST_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else INTEREST_STYLE_CONFIG["advanced"]
def is_registered_module(record: dict) -> bool: def is_registered_module(record: dict) -> bool:

View File

@@ -5,7 +5,7 @@ import os
import traceback import traceback
from typing import TYPE_CHECKING, Dict, List from typing import TYPE_CHECKING, Dict, List
from src.common.logger import get_module_logger from src.common.logger import get_module_logger, LogConfig, INTEREST_STYLE_CONFIG
# Need chat_manager to get stream names # Need chat_manager to get stream names
from src.plugins.chat.chat_stream import chat_manager from src.plugins.chat.chat_stream import chat_manager
@@ -14,7 +14,11 @@ if TYPE_CHECKING:
from src.heart_flow.subheartflow_manager import SubHeartflowManager from src.heart_flow.subheartflow_manager import SubHeartflowManager
from src.heart_flow.sub_heartflow import SubHeartflow # For type hint in get_interest_states from src.heart_flow.sub_heartflow import SubHeartflow # For type hint in get_interest_states
logger = get_module_logger("interest_logger") interest_logger_config = LogConfig(
console_format = INTEREST_STYLE_CONFIG["console_format"],
file_format=INTEREST_STYLE_CONFIG["file_format"],
)
logger = get_module_logger("interest_logger", config=interest_logger_config)
# Consider moving log directory/filename constants here # Consider moving log directory/filename constants here
LOG_DIRECTORY = "logs/interest" LOG_DIRECTORY = "logs/interest"

View File

@@ -13,12 +13,16 @@ from .plugins.chat.message_sender import message_manager
from .plugins.storage.storage import MessageStorage from .plugins.storage.storage import MessageStorage
from .config.config import global_config from .config.config import global_config
from .plugins.chat.bot import chat_bot from .plugins.chat.bot import chat_bot
from .common.logger import get_module_logger from .common.logger import get_module_logger, LogConfig, MAIN_STYLE_CONFIG
from .plugins.remote import heartbeat_thread # noqa: F401 from .plugins.remote import heartbeat_thread # noqa: F401
from .individuality.individuality import Individuality from .individuality.individuality import Individuality
from .common.server import global_server from .common.server import global_server
logger = get_module_logger("main") main_log_config = LogConfig(
console_format=MAIN_STYLE_CONFIG["console_format"],
file_format=MAIN_STYLE_CONFIG["file_format"],
)
logger = get_module_logger("main", config=main_log_config)
class MainSystem: class MainSystem: