From 7717501ab28fa2760da6b1b9be998eb589988821 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Gra=C3=B1a?= Date: Tue, 11 Aug 2015 10:38:31 -0300 Subject: [PATCH] Use log formatting and pass crawler reference --- scrapy/core/downloader/handlers/__init__.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/scrapy/core/downloader/handlers/__init__.py b/scrapy/core/downloader/handlers/__init__.py index 0e732cfe7..6c9514af6 100644 --- a/scrapy/core/downloader/handlers/__init__.py +++ b/scrapy/core/downloader/handlers/__init__.py @@ -15,7 +15,7 @@ logger = logging.getLogger(__name__) class DownloadHandlers(object): def __init__(self, crawler): - self._crawler_settings = crawler.settings + self._crawler = crawler self._schemes = {} # stores acceptable schemes on instancing self._handlers = {} # stores instanced handlers for schemes self._notconfigured = {} # remembers failed handlers @@ -45,13 +45,14 @@ class DownloadHandlers(object): path = self._schemes[scheme] try: dhcls = load_object(path) - dh = dhcls(self._crawler_settings) + dh = dhcls(self._crawler.settings) except NotConfigured as ex: self._notconfigured[scheme] = str(ex) return None except Exception as ex: - logger.exception('Loading "{}" for scheme "{}" handler' - .format(path, scheme)) + logger.error('Loading "%(clspath)s" for scheme "%(scheme)s"', + {"clspath": path, "scheme": scheme}, + exc_info=True, extra={'crawler': self._crawler}) self._notconfigured[scheme] = str(ex) return None else: