From aacb0b530de98cd7c6f95247a094b2767e39deeb Mon Sep 17 00:00:00 2001 From: Hongyu Shi Date: Tue, 26 Aug 2025 20:02:37 +0800 Subject: [PATCH 1/3] =?UTF-8?q?fix(log):=20=E5=B0=86=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E7=BA=A7=E5=88=AB=E4=BB=8E=20INFO=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=BA=20DEBUG=EF=BC=8C=E4=BB=A5=E4=BE=BF?= =?UTF-8?q?=E6=9B=B4=E8=AF=A6=E7=BB=86=E7=9A=84=E6=97=A5=E5=BF=97=E8=AE=B0?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Hongyu Shi --- src/config/model.py | 8 ++++---- src/log/manager.py | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/config/model.py b/src/config/model.py index e3f3dd4..f8df042 100644 --- a/src/config/model.py +++ b/src/config/model.py @@ -83,7 +83,7 @@ class ConfigModel: backend: Backend = field(default=Backend.EULERINTELLI) openai: OpenAIConfig = field(default_factory=OpenAIConfig) eulerintelli: HermesConfig = field(default_factory=HermesConfig) - log_level: LogLevel = field(default=LogLevel.INFO) + log_level: LogLevel = field(default=LogLevel.DEBUG) @classmethod def from_dict(cls, d: dict) -> "ConfigModel": @@ -97,7 +97,7 @@ class ConfigModel: else: backend = Backend.OPENAI - log_level_value = d.get("log_level", LogLevel.INFO) + log_level_value = d.get("log_level", LogLevel.DEBUG) # 确保 log_level 始终是 LogLevel 枚举类型 if isinstance(log_level_value, LogLevel): log_level = log_level_value @@ -105,9 +105,9 @@ class ConfigModel: try: log_level = LogLevel(log_level_value) except ValueError: - log_level = LogLevel.INFO + log_level = LogLevel.DEBUG else: - log_level = LogLevel.INFO + log_level = LogLevel.DEBUG return cls( backend=backend, diff --git a/src/log/manager.py b/src/log/manager.py index 09ba5a3..bfd0bff 100644 --- a/src/log/manager.py +++ b/src/log/manager.py @@ -4,6 +4,7 @@ from __future__ import annotations import contextlib import logging +import sys from datetime import datetime, timedelta, timezone from pathlib import Path from typing import TYPE_CHECKING, Any @@ -112,7 +113,7 @@ class LogManager: self._current_log_file = self._log_dir / log_filename # 从配置中获取日志级别 - log_level = logging.INFO # 默认级别 + log_level = logging.DEBUG # 默认级别 if self._config_manager is not None: try: config_log_level = self._config_manager.get_log_level() @@ -120,9 +121,8 @@ class LogManager: except (AttributeError, ValueError, TypeError) as e: # 如果配置管理器不可用或配置有误,使用默认级别 # 在这里我们还不能使用 logger,因为 logging 还没完全设置好 - import sys - sys.stderr.write(f"警告: 获取日志级别配置失败: {e}, 使用默认级别 INFO\n") - log_level = logging.INFO + sys.stderr.write(f"警告: 获取日志级别配置失败: {e}, 使用默认级别 DEBUG\n") + log_level = logging.DEBUG # 配置根日志记录器 handlers = [logging.FileHandler(self._current_log_file, encoding="utf-8")] -- Gitee From 39bf01b222f885d01c92eaf913face8e76275b4a Mon Sep 17 00:00:00 2001 From: Hongyu Shi Date: Tue, 26 Aug 2025 20:03:57 +0800 Subject: [PATCH 2/3] chore(log): use UTC alias Signed-off-by: Hongyu Shi --- src/log/manager.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/log/manager.py b/src/log/manager.py index bfd0bff..6831494 100644 --- a/src/log/manager.py +++ b/src/log/manager.py @@ -5,7 +5,7 @@ from __future__ import annotations import contextlib import logging import sys -from datetime import datetime, timedelta, timezone +from datetime import UTC, datetime, timedelta from pathlib import Path from typing import TYPE_CHECKING, Any @@ -108,7 +108,7 @@ class LogManager: def _setup_logging(self) -> None: """配置日志系统""" # 生成当前时间的日志文件名 - current_time = datetime.now(tz=timezone.utc).astimezone() + current_time = datetime.now(tz=UTC).astimezone() log_filename = f"smart-shell-{current_time.strftime('%Y%m%d-%H%M%S')}.log" self._current_log_file = self._log_dir / log_filename @@ -141,7 +141,7 @@ class LogManager: """解析日志文件名中的日期""" try: file_date_str = log_file.stem.split("-", 2)[2][:8] # 提取 YYYYMMDD - return datetime.strptime(file_date_str, "%Y%m%d").replace(tzinfo=timezone.utc).astimezone() + return datetime.strptime(file_date_str, "%Y%m%d").replace(tzinfo=UTC).astimezone() except (ValueError, IndexError): return None @@ -149,7 +149,7 @@ class LogManager: """清理7天前的旧日志文件""" logger = logging.getLogger(__name__) try: - cutoff_date = datetime.now(tz=timezone.utc).astimezone() - timedelta(days=7) + cutoff_date = datetime.now(tz=UTC).astimezone() - timedelta(days=7) for log_file in self._log_dir.glob("smart-shell-*.log"): try: -- Gitee From 291fa3d78f8674a6a6e30abd5d2ac3154ad6d5ac Mon Sep 17 00:00:00 2001 From: Hongyu Shi Date: Tue, 26 Aug 2025 20:53:16 +0800 Subject: [PATCH 3/3] =?UTF-8?q?fix(.gitignore):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=AF=B9=20.venv-*/=20=E7=9B=AE=E5=BD=95=E7=9A=84=E5=BF=BD?= =?UTF-8?q?=E7=95=A5=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Hongyu Shi --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 9d90b27..450a7e5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ *venv/ +*venv-*/ **/__pycache__/ **/*.pyc -- Gitee