added spiders to some error logging in Engine and Scraper core components

This commit is contained in:
Pablo Hoffman 2010-01-28 10:56:04 -02:00
parent 67858af83c
commit b1c2756778
3 changed files with 10 additions and 4 deletions

View File

@ -137,7 +137,8 @@ class ExecutionEngine(object):
if request:
dwld = mustbe_deferred(self.download, request, spider)
dwld.chainDeferred(deferred).addBoth(lambda _: deferred)
dwld.addErrback(log.err, "Unhandled error on engine._next_request")
dwld.addErrback(log.err, "Unhandled error on engine._next_request()",
spider=spider)
return dwld
def spider_is_idle(self, spider):
@ -173,7 +174,7 @@ class ExecutionEngine(object):
# next core refactoring.
#schd.addErrback(log.err, "Error on engine.crawl()")
schd.addBoth(self.scraper.enqueue_scrape, request, spider)
schd.addErrback(log.err, "Unhandled error on engine.crawl()")
schd.addErrback(log.err, "Unhandled error on engine.crawl()", spider=spider)
schd.addBoth(lambda _: self.next_request(spider))
def schedule(self, request, spider):

View File

@ -186,7 +186,8 @@ class Scraper(object):
if isinstance(spider_failure.value, IgnoreRequest):
return
elif spider_failure is propagated_failure:
log.err(spider_failure, 'Unhandled error propagated to spider and wasn\'t handled')
log.err(spider_failure, 'Unhandled error propagated to spider', \
spider=spider)
return # stop propagating this error
else:
return spider_failure # exceptions raised in the spider code

View File

@ -87,7 +87,11 @@ def err(_stuff=None, _why=None, **kwargs):
domain = kwargs.pop('domain', None)
spider = kwargs.pop('spider', None)
component = kwargs.pop('component', BOT_NAME)
kwargs['system'] = domain or spider.domain_name if spider else component
if domain is not None:
import warnings
warnings.warn("'domain' argument of scrapy.log.err() is deprecated, " \
"use 'spider' argument instead", DeprecationWarning, stacklevel=2)
kwargs['system'] = domain or (spider.domain_name if spider else component)
if _why:
_why = unicode_to_str("ERROR: %s" % _why)
log.err(_stuff, _why, **kwargs)