diff --git a/.gitignore b/.gitignore index 9d90b270bc23c8a48301276bcddaf33d7c276cf2..450a7e5e3945db67acc78c87c5976cf15a5caefe 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ *venv/ +*venv-*/ **/__pycache__/ **/*.pyc diff --git a/src/config/model.py b/src/config/model.py index e3f3dd47b0f537492b043911e06cbc94fcbb929c..f8df042fe6ce0313d1e87977c37c47d9de9a6bdc 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 09ba5a330f71090ec837f463d4d58c631b40bd9c..6831494f254d2ecc67bdd0c09a15dacaa25249a2 100644 --- a/src/log/manager.py +++ b/src/log/manager.py @@ -4,7 +4,8 @@ from __future__ import annotations import contextlib import logging -from datetime import datetime, timedelta, timezone +import sys +from datetime import UTC, datetime, timedelta from pathlib import Path from typing import TYPE_CHECKING, Any @@ -107,12 +108,12 @@ 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 # 从配置中获取日志级别 - 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")] @@ -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: