Spaces:
Sleeping
Sleeping
| from __future__ import annotations | |
| import logging | |
| from typing import Any, Dict | |
| from ..state import AgentState | |
| _LOGGER_NAME = "agentic_multiwriter" | |
| def get_logger() -> logging.Logger: | |
| logger = logging.getLogger(_LOGGER_NAME) | |
| if not logger.handlers: | |
| handler = logging.StreamHandler() | |
| formatter = logging.Formatter( | |
| "[%(asctime)s] %(levelname)s - %(message)s", "%Y-%m-%d %H:%M:%S" | |
| ) | |
| handler.setFormatter(formatter) | |
| logger.addHandler(handler) | |
| logger.setLevel(logging.INFO) | |
| return logger | |
| def log_state_summary(state: AgentState, prefix: str = "") -> None: | |
| logger = get_logger() | |
| topic = state.get("topic", "") | |
| mode = state.get("mode", "") | |
| n_snippets = len(state.get("research_snippets", []) or []) | |
| logger.info( | |
| "%sState summary - topic='%s', mode='%s', research_snippets=%d", | |
| f"{prefix} " if prefix else "", | |
| topic, | |
| mode, | |
| n_snippets, | |
| ) | |
| meta: Dict[str, Any] = state.get("meta", {}) or {} | |
| if meta: | |
| logger.info("%sMeta: %s", prefix, meta) | |