瀏覽代碼

添加 log

mrh 11 月之前
父節點
當前提交
0e45a62d21
共有 4 個文件被更改,包括 54 次插入2 次删除
  1. 2 1
      CONVENTIONS.md
  2. 1 1
      ai_trans.py
  3. 51 0
      mylib/logging_config.py
  4. 0 0
      mylib/pdfzh_translator.py

+ 2 - 1
CONVENTIONS.md

@@ -1,4 +1,5 @@
 编程注意事项:
 - 编写代码遵循模块化,高内聚低耦合原则,符合程序设计的基本原则。
 - 如果我有的任何提示和注意事项要说明在代码中,都应在代码中添加注释。
-- 所有代码兼容 Linux 和 Windows 系统。
+- 所有代码兼容 Linux 和 Windows 系统。
+- 必须使用 logger 记录日志。

+ 1 - 1
ai_trans.py

@@ -1,6 +1,6 @@
 import os
 from dotenv import load_dotenv
-from pdfzh_translator import OpenAITranslator
+from mylib.pdfzh_translator import OpenAITranslator
 
 # Load environment variables
 load_dotenv()

+ 51 - 0
mylib/logging_config.py

@@ -0,0 +1,51 @@
+import logging
+import sys
+import os
+from pathlib import Path
+
+WORK_DIR = Path(__file__).resolve().parent
+
+def _get_relative_path(pathname):
+    """将绝对路径转换为相对于项目根目录的相对路径"""
+    try:
+        # 获取项目根目录
+        project_root = WORK_DIR.parent
+        # 转换为相对路径
+        relative_path = os.path.relpath(pathname, start=project_root)
+        return relative_path
+    except ValueError:
+        # 如果路径不在项目目录下,返回原路径
+        return pathname
+
+class RelativePathFormatter(logging.Formatter):
+    def format(self, record):
+        # 转换路径为相对路径
+        record.pathname = _get_relative_path(record.pathname)
+        return super().format(record)
+
+def setup_logging():
+    # Create logs directory
+    logs_dir = Path(WORK_DIR / "temp/logs/aider_coder")
+    # mkdir -p 
+    logs_dir.mkdir(parents=True, exist_ok=True)
+    
+    # Create formatter
+    formatter = RelativePathFormatter(
+        '%(asctime)s - %(pathname)s:%(lineno)d - %(levelname)s - %(message)s'
+    )
+    
+    # Configure logging
+    handler = logging.StreamHandler(sys.stdout)
+    handler.setFormatter(formatter)
+    
+    file_handler = logging.FileHandler(logs_dir / "aider_coder.log")
+    file_handler.setFormatter(formatter)
+    
+    logging.basicConfig(
+        level=logging.DEBUG,
+        handlers=[handler, file_handler]
+    )
+    
+    # Set specific logger levels
+    logging.getLogger('urllib3').setLevel(logging.WARNING)
+    logging.getLogger('requests').setLevel(logging.WARNING)

+ 0 - 0
pdfzh_translator.py → mylib/pdfzh_translator.py