diff --git a/crawl4ai/deep_crawling/bff_strategy.py b/crawl4ai/deep_crawling/bff_strategy.py index 7779c9f4..dc7a0bf0 100644 --- a/crawl4ai/deep_crawling/bff_strategy.py +++ b/crawl4ai/deep_crawling/bff_strategy.py @@ -47,7 +47,13 @@ class BestFirstCrawlingStrategy(DeepCrawlStrategy): self.url_scorer = url_scorer self.include_external = include_external self.max_pages = max_pages - self.logger = logger or logging.getLogger(__name__) + # self.logger = logger or logging.getLogger(__name__) + # Ensure logger is always a Logger instance, not a dict from serialization + if isinstance(logger, logging.Logger): + self.logger = logger + else: + # Create a new logger if logger is None, dict, or any other non-Logger type + self.logger = logging.getLogger(__name__) self.stats = TraversalStats(start_time=datetime.now()) self._cancel_event = asyncio.Event() self._pages_crawled = 0 diff --git a/crawl4ai/deep_crawling/bfs_strategy.py b/crawl4ai/deep_crawling/bfs_strategy.py index 950c3980..eb699f82 100644 --- a/crawl4ai/deep_crawling/bfs_strategy.py +++ b/crawl4ai/deep_crawling/bfs_strategy.py @@ -38,7 +38,13 @@ class BFSDeepCrawlStrategy(DeepCrawlStrategy): self.include_external = include_external self.score_threshold = score_threshold self.max_pages = max_pages - self.logger = logger or logging.getLogger(__name__) + # self.logger = logger or logging.getLogger(__name__) + # Ensure logger is always a Logger instance, not a dict from serialization + if isinstance(logger, logging.Logger): + self.logger = logger + else: + # Create a new logger if logger is None, dict, or any other non-Logger type + self.logger = logging.getLogger(__name__) self.stats = TraversalStats(start_time=datetime.now()) self._cancel_event = asyncio.Event() self._pages_crawled = 0