Добрый день. У вас есть вопрос о лесозаготовках и рубках. Я хочу отправить сообщение с ошибками, если они происходят во время работы Scrapy. Я добавить обработчик электронной почты и подключить его к spider.logger:Scrapy send error on email
def __init__(self, test=False, *args, **kwargs):
eh = SMTPHandler('localhost', fromaddr='[email protected]',
toaddrs=LOG_EMAIL_LIST, subject='Error report')
eh.setLevel(logging.ERROR)
self.logger.logger.addHandler(eh)
super(BaseGenericSpider, self).__init__(*args, **kwargs)
Когда я добавить ошибки вручную (например self.logger.error('Test')
..), Я получать уведомления на мой адрес электронной почты. Но когда я тестирую его с помощью scrapy-ошибок (например, я сделал синтаксис опечатки в коде искателя, чтобы проверить его), я вижу, что Scrapy зарегистрировал эту ошибку, но я ничего не получил в своем письме. Вы можете помочь? Заранее спасибо.
UPD. Хорошо, я думаю, что нашел проблему, но я не знаю, как ее решить сейчас. Когда я добавить обработчик self.logger
, у меня есть сообщения, как это:
2016-02-12 14:23:19 [sslv] ERROR: Test error case
Но SCRAPY ошибки имеют следующий формат:
2016-02-12 14:44:28 [scrapy] ERROR: Error while obtaining start requests
Итак, как вы видите, SCRAPY регистратор имеет другое имя. На самом деле, у нас также есть twisted
logger и многие другие. Как настроить обработчик электронной почты для всех этих журналов?