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 <noreply@anthropic.com>
This commit is contained in:
Yurii Chukhlib
2026-01-17 11:14:42 +01:00
parent c85f56b085
commit 232f00752c

View File

@@ -87,7 +87,8 @@ class AsyncPlaywrightCrawlerStrategy(AsyncCrawlerStrategy):
""" """
# Initialize browser config, either from provided object or kwargs # Initialize browser config, either from provided object or kwargs
self.browser_config = browser_config or BrowserConfig.from_kwargs(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 # Initialize browser adapter
self.adapter = browser_adapter or PlaywrightAdapter() self.adapter = browser_adapter or PlaywrightAdapter()