Skip to content

Commit f31acd6

Browse files
authored
Use a custom logger instead of the root one (#101)
1 parent 2d58862 commit f31acd6

File tree

2 files changed

+17
-14
lines changed

2 files changed

+17
-14
lines changed

scrapy_zyte_smartproxy/middleware.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313
from scrapy_zyte_smartproxy.utils import exp_backoff
1414

1515

16+
logger = logging.getLogger(__name__)
17+
18+
1619
class ZyteSmartProxyMiddleware(object):
1720

1821
url = 'http://proxy.zyte.com:8011'
@@ -71,15 +74,15 @@ def open_spider(self, spider):
7174
return
7275

7376
if not self.apikey:
74-
logging.warning(
77+
logger.warning(
7578
"Zyte Smart Proxy Manager cannot be used without an API key",
7679
extra={'spider': spider},
7780
)
7881
return
7982

8083
self._proxyauth = self.get_proxyauth(spider)
8184

82-
logging.info(
85+
logger.info(
8386
"Using Zyte Smart Proxy Manager at %s (apikey: %s)" % (
8487
self.url, self.apikey[:7]
8588
),
@@ -89,7 +92,7 @@ def open_spider(self, spider):
8992
if not self.preserve_delay:
9093
# Setting spider download delay to 0 to get maximum crawl rate
9194
spider.download_delay = 0
92-
logging.info(
95+
logger.info(
9396
"ZyteSmartProxyMiddleware: disabling download delays in "
9497
"Scrapy to optimize delays introduced by Zyte Smart Proxy "
9598
"Manager. To avoid this behaviour you can use the "
@@ -130,9 +133,9 @@ def _get_setting_value(self, spider, k, type_):
130133

131134
def _fix_url_protocol(self):
132135
if self.url.startswith('https://'):
133-
logging.warning('ZYTE_SMARTPROXY_URL "%s" set with "https://" protocol.' % self.url)
136+
logger.warning('ZYTE_SMARTPROXY_URL "%s" set with "https://" protocol.' % self.url)
134137
elif not self.url.startswith('http://'):
135-
logging.warning('Adding "http://" to ZYTE_SMARTPROXY_URL %s' % self.url)
138+
logger.warning('Adding "http://" to ZYTE_SMARTPROXY_URL %s' % self.url)
136139
self.url = 'http://' + self.url
137140

138141
def is_enabled(self, spider):
@@ -216,7 +219,7 @@ def process_response(self, request, response, spider):
216219
return self._retry_auth(response, request, spider)
217220
else:
218221
self.crawler.stats.inc_value('zyte_smartproxy/retries/auth/max_reached')
219-
logging.warning(
222+
logger.warning(
220223
"Max retries for authentication issues reached, please check auth"
221224
" information settings",
222225
extra={'spider': self.spider},
@@ -263,7 +266,7 @@ def _handle_not_enabled_response(self, request, response):
263266
return response
264267

265268
def _retry_auth(self, response, request, spider):
266-
logging.warning(
269+
logger.warning(
267270
"Retrying a Zyte Smart Proxy Manager request due to an "
268271
"authentication issue",
269272
extra={'spider': self.spider},
@@ -357,7 +360,7 @@ def _set_zyte_smartproxy_default_headers(self, request):
357360
'urls with problems.'
358361
% str(self.conflicting_headers)
359362
)
360-
logging.debug(
363+
logger.debug(
361364
'The headers %s are conflicting on request %s. X-Crawlera-UA '
362365
'will be ignored. Please check '
363366
'https://docs.zyte.com/smart-proxy-manager.html#request-headers '

tests/test_all.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -462,7 +462,7 @@ def test_zyte_smartproxy_default_headers(self):
462462
self.assertNotIn('X-Crawlera-Profile', req.headers)
463463

464464
@patch('scrapy_zyte_smartproxy.middleware.warnings')
465-
@patch('scrapy_zyte_smartproxy.middleware.logging')
465+
@patch('scrapy_zyte_smartproxy.middleware.logger')
466466
def test_zyte_smartproxy_default_headers_conflicting_headers(self, mock_logger, mock_warnings):
467467
spider = self.spider
468468
self.spider.zyte_smartproxy_enabled = True
@@ -671,7 +671,7 @@ def test_auth_error_retries(self, random_uniform_patch):
671671
res = mw.process_response(auth_error_req, non_zyte_smartproxy_407_response, self.spider)
672672
self.assertIsInstance(res, Response)
673673

674-
@patch('scrapy_zyte_smartproxy.middleware.logging')
674+
@patch('scrapy_zyte_smartproxy.middleware.logger')
675675
def test_open_spider_logging(self, mock_logger):
676676
spider = self.spider
677677
self.spider.zyte_smartproxy_enabled = True
@@ -767,7 +767,7 @@ def test_process_response_from_file_scheme(self):
767767
self.assertEqual(mw.crawler.stats.get_stats(), {})
768768
self.assertEqual(out.status, 200)
769769

770-
@patch('scrapy_zyte_smartproxy.middleware.logging')
770+
@patch('scrapy_zyte_smartproxy.middleware.logger')
771771
def test_apikey_warning_zyte_smartproxy_disabled(self, mock_logger):
772772
self.spider.zyte_smartproxy_enabled = False
773773
settings = {}
@@ -777,7 +777,7 @@ def test_apikey_warning_zyte_smartproxy_disabled(self, mock_logger):
777777
self.assertFalse(mw.enabled)
778778
mock_logger.warning.assert_not_called()
779779

780-
@patch('scrapy_zyte_smartproxy.middleware.logging')
780+
@patch('scrapy_zyte_smartproxy.middleware.logger')
781781
def test_no_apikey_warning_zyte_smartproxy_enabled(self, mock_logger):
782782
self.spider.zyte_smartproxy_enabled = True
783783
settings = {}
@@ -790,7 +790,7 @@ def test_no_apikey_warning_zyte_smartproxy_enabled(self, mock_logger):
790790
extra={'spider': self.spider}
791791
)
792792

793-
@patch('scrapy_zyte_smartproxy.middleware.logging')
793+
@patch('scrapy_zyte_smartproxy.middleware.logger')
794794
def test_no_apikey_warning_force_enable(self, mock_logger):
795795
self.spider.zyte_smartproxy_enabled = False
796796
settings = {'ZYTE_SMARTPROXY_FORCE_ENABLE_ON_HTTP_CODES': [403]}
@@ -803,7 +803,7 @@ def test_no_apikey_warning_force_enable(self, mock_logger):
803803
extra={'spider': self.spider}
804804
)
805805

806-
@patch('scrapy_zyte_smartproxy.middleware.logging')
806+
@patch('scrapy_zyte_smartproxy.middleware.logger')
807807
def test_apikey_warning_force_enable(self, mock_logger):
808808
self.spider.zyte_smartproxy_enabled = False
809809
settings = {

0 commit comments

Comments
 (0)