suppress cdp + add logging

This commit is contained in:
STJ 2026-03-13 19:28:20 -07:00
parent 57ddce161f
commit d80578c415
3 changed files with 31 additions and 6 deletions

View file

@ -46,7 +46,31 @@ from strix.telemetry import posthog # noqa: E402
from strix.telemetry.tracer import get_global_tracer # noqa: E402
logging.getLogger().setLevel(logging.ERROR)
_log_dir = Path("strix_runs")
_log_dir.mkdir(exist_ok=True)
_file_handler = logging.FileHandler(_log_dir / "strix.log")
_file_handler.setLevel(logging.INFO)
_file_handler.setFormatter(logging.Formatter("%(asctime)s %(name)s %(levelname)s %(message)s"))
_root = logging.getLogger()
_root.setLevel(logging.INFO)
_root.handlers = [_file_handler]
# prevent any library from adding StreamHandlers (console) to the root logger
_orig_add_handler = logging.Logger.addHandler
def _guarded_add_handler(self: logging.Logger, handler: logging.Handler) -> None:
if (
self is _root
and isinstance(handler, logging.StreamHandler)
and not isinstance(handler, logging.FileHandler)
):
return
_orig_add_handler(self, handler)
logging.Logger.addHandler = _guarded_add_handler # type: ignore[assignment]
def validate_environment() -> None: # noqa: PLR0912, PLR0915

View file

@ -160,10 +160,8 @@ class BrowserRenderer(BaseToolRenderer):
@classmethod
def _build_launch(cls, status: str, result: Any) -> Text:
mode = result.get("mode", "sandboxed") if isinstance(result, dict) else "sandboxed"
text = Text("", style=cls.LIFE)
text.append("launching browser", style=f"bold {cls.LIFE}")
text.append(f" {mode}", style=cls.DIM)
text.append_text(cls._status_mark(status))
res = result if isinstance(result, dict) else {}
warning = res.get("warning")

View file

@ -131,10 +131,13 @@ async def _run_browser_agent(
]
_bl.propagate = True
async def log_step(step: Any) -> None:
logger.info("Agent step completed: %s", step)
# cdp_use.client spams "unexpected message" warnings from Chromium; suppress
_cdp_client = logging.getLogger("cdp_use.client")
_cdp_client.handlers = []
_cdp_client.setLevel(logging.ERROR)
_cdp_client.propagate = False
result = await agent.run(on_step_end=log_step)
result = await agent.run()
if hasattr(result, "is_successful") and not result.is_successful():
final_result = (