Skip to content

Commit 38f3ea4

Browse files
committed
fix(logger): ensure logger is a Logger instance in crawling strategies. ref unclecode#1437
1 parent 102352e commit 38f3ea4

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

crawl4ai/deep_crawling/bff_strategy.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,13 @@ def __init__(
4747
self.url_scorer = url_scorer
4848
self.include_external = include_external
4949
self.max_pages = max_pages
50-
self.logger = logger or logging.getLogger(__name__)
50+
# self.logger = logger or logging.getLogger(__name__)
51+
# Ensure logger is always a Logger instance, not a dict from serialization
52+
if isinstance(logger, logging.Logger):
53+
self.logger = logger
54+
else:
55+
# Create a new logger if logger is None, dict, or any other non-Logger type
56+
self.logger = logging.getLogger(__name__)
5157
self.stats = TraversalStats(start_time=datetime.now())
5258
self._cancel_event = asyncio.Event()
5359
self._pages_crawled = 0

crawl4ai/deep_crawling/bfs_strategy.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,13 @@ def __init__(
3838
self.include_external = include_external
3939
self.score_threshold = score_threshold
4040
self.max_pages = max_pages
41-
self.logger = logger or logging.getLogger(__name__)
41+
# self.logger = logger or logging.getLogger(__name__)
42+
# Ensure logger is always a Logger instance, not a dict from serialization
43+
if isinstance(logger, logging.Logger):
44+
self.logger = logger
45+
else:
46+
# Create a new logger if logger is None, dict, or any other non-Logger type
47+
self.logger = logging.getLogger(__name__)
4248
self.stats = TraversalStats(start_time=datetime.now())
4349
self._cancel_event = asyncio.Event()
4450
self._pages_crawled = 0

0 commit comments

Comments
 (0)