Skip to content

Commit

Permalink
upd: move SpiderLoggerAdapter to utils.log
Browse files Browse the repository at this point in the history
  • Loading branch information
bloodforcream committed May 11, 2024
1 parent 9852d9d commit 1320e2a
Show file tree
Hide file tree
Showing 5 changed files with 212 additions and 205 deletions.
4 changes: 3 additions & 1 deletion scrapy/spiders/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@

from scrapy import signals
from scrapy.http import Request, Response
from scrapy.utils.spider_logger_adapter import SpiderLoggerAdapter
from scrapy.utils.trackref import object_ref
from scrapy.utils.url import url_is_from_spider

Expand All @@ -23,6 +22,7 @@

from scrapy.crawler import Crawler
from scrapy.settings import BaseSettings
from scrapy.utils.log import SpiderLoggerAdapter


class Spider(object_ref):
Expand All @@ -44,6 +44,8 @@ def __init__(self, name: Optional[str] = None, **kwargs: Any):

@property
def logger(self) -> SpiderLoggerAdapter:
from scrapy.utils.log import SpiderLoggerAdapter

logger = logging.getLogger(self.name)
return SpiderLoggerAdapter(logger, {"spider": self})

Expand Down
25 changes: 24 additions & 1 deletion scrapy/utils/log.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,17 @@
import sys
from logging.config import dictConfig
from types import TracebackType
from typing import TYPE_CHECKING, Any, List, Optional, Tuple, Type, Union, cast
from typing import (
TYPE_CHECKING,
Any,
List,
MutableMapping,
Optional,
Tuple,
Type,
Union,
cast,
)

from twisted.python import log as twisted_log
from twisted.python.failure import Failure
Expand Down Expand Up @@ -238,3 +248,16 @@ def logformatter_adapter(logkws: dict) -> Tuple[int, str, dict]:
args = logkws if not logkws.get("args") else logkws["args"]

return (level, message, args)


class SpiderLoggerAdapter(logging.LoggerAdapter):
def process(
self, msg: str, kwargs: MutableMapping[str, Any]
) -> Tuple[str, MutableMapping[str, Any]]:
"""Method that augments logging with additional 'extra' data"""
if isinstance(kwargs.get("extra"), MutableMapping):
kwargs["extra"].update(self.extra)
else:
kwargs["extra"] = self.extra

return msg, kwargs
15 changes: 0 additions & 15 deletions scrapy/utils/spider_logger_adapter.py

This file was deleted.

188 changes: 0 additions & 188 deletions tests/test_spider_logger_adapter.py

This file was deleted.

0 comments on commit 1320e2a

Please sign in to comment.