Встроенные логгеры Scrapy:
- scrapy.utils.log
- scrapy.crawler
- scrapy.middleware
- scrapy.core.engine
- scrapy.extensions.logstats
- scrapy.extensions.telnet
- scrapy.core.scraper
- scrapy.statscollectors
очень многословны.
Я пытался установить другой уровень журнала DEBUG, чем уровень журнала пользователя-паука, INFO.Таким образом, я могу уменьшить «шум».
Эта вспомогательная функция работает, иногда:
def set_loggers_level(level=logging.DEBUG):
loggers = [
'scrapy.utils.log',
'scrapy.crawler',
'scrapy.middleware',
'scrapy.core.engine',
'scrapy.extensions.logstats',
'scrapy.extensions.telnet',
'scrapy.core.scraper',
'scrapy.statscollectors'
]
for logger_name in loggers:
logger = logging.getLogger(logger_name)
logger.setLevel(level)
for handler in logger.handlers:
handler.setLevel(level)
Я вызываю его из initSpider init:
class UserSpider(scrapy.Spider):
def __init__(self, *args, **kwargs):
# customize loggers: Some loggers can't be reset a this point
helpers.set_loggers_level()
super(UserSpider, self).__init__(*args, **kwargs)
ThisПодход работает некоторое время, другие нет.
Какое будет правильное решение?