From 232f00752c37ad05c29151e361958beb9c307601 Mon Sep 17 00:00:00 2001 From: Yurii Chukhlib Date: Sat, 17 Jan 2026 11:14:42 +0100 Subject: [PATCH] fix: Initialize default logger in AsyncPlaywrightCrawlerStrategy Fixes #1704 When AsyncPlaywrightCrawlerStrategy is instantiated without a logger, self.logger remains None, causing crashes when logger methods are called (e.g., during screenshot/PDF/MHTML export). Changed to initialize a default AsyncLogger(verbose=False) when no logger is provided, preventing NoneType errors throughout the strategy. Co-Authored-By: Claude --- crawl4ai/async_crawler_strategy.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crawl4ai/async_crawler_strategy.py b/crawl4ai/async_crawler_strategy.py index 2850b36a6..4daf68ae1 100644 --- a/crawl4ai/async_crawler_strategy.py +++ b/crawl4ai/async_crawler_strategy.py @@ -87,7 +87,8 @@ def __init__( """ # Initialize browser config, either from provided object or kwargs self.browser_config = browser_config or BrowserConfig.from_kwargs(kwargs) - self.logger = logger + # Initialize with default logger if none provided to prevent NoneType errors + self.logger = logger if logger is not None else AsyncLogger(verbose=False) # Initialize browser adapter self.adapter = browser_adapter or PlaywrightAdapter()