初始化知识库查询日志文件。 Args: force_reset: True 时重置文件并写入初始化标记;False 时仅在文件不存在时写入。
(force_reset: bool = True)
| 58 | |
| 59 | |
| 60 | def init_knowledge_log(force_reset: bool = True): |
| 61 | """ |
| 62 | 初始化知识库查询日志文件。 |
| 63 | |
| 64 | Args: |
| 65 | force_reset: True 时重置文件并写入初始化标记;False 时仅在文件不存在时写入。 |
| 66 | """ |
| 67 | try: |
| 68 | start_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S") |
| 69 | LOG_DIR.mkdir(parents=True, exist_ok=True) |
| 70 | mode = "w" if force_reset or not KNOWLEDGE_LOG_FILE.exists() else "a" |
| 71 | with _log_lock, open(KNOWLEDGE_LOG_FILE, mode, encoding="utf-8") as f: |
| 72 | f.write(f"=== Knowledge Query Log 初始化 - {start_time} ===\n") |
| 73 | logger.info("Knowledge Query: knowledge_query.log 已初始化") |
| 74 | except Exception as exc: # pragma: no cover - 仅运行时执行 |
| 75 | logger.exception(f"Knowledge Query: 初始化日志失败: {exc}") |
| 76 | |
| 77 | |
| 78 | def _ensure_log_file(): |
no test coverage detected