Как отключить вход в Scrapy (Python)

Я создал паука с помощью Scrapy, но я не могу понять, как отключить ведение журнала по умолчанию. От документация выясняется, что я должен быть в состоянии отключить его, выполнив

        logging.basicConfig(level=logging.ERROR)

но это не имеет никакого эффекта. От просмотра кода для ведения журнала.basicConfig () я предполагаю, что это потому, что "корневой регистратор настроил обработчики", но, возможно, я ошибаюсь в этом. В любом случае, может кто-нибудь объяснить, что мне нужно сделать, чтобы получить Scrapy, чтобы не выводить обычный

        2015-10-18 17:42:00 [scrapy] INFO: Scrapy 1.0.3 started (bot: EF)
        2015-10-18 17:42:00 [scrapy] INFO: Scrapy 1.0.3 started (bot: EF)
        2015-10-18 17:42:00 [scrapy] INFO: Optional features available: ssl, http11, boto
        2015-10-18 17:42:00 [scrapy] INFO: Optional features available: ssl, http11, boto

etc.?

EDIT: как предложено sirfz ниже, строка

        logging.getLogger('scrapy').setLevel(logging.WARNING)

можно использовать для установки уровня ведения журнала. Однако, похоже, вы должны сделать это в методе init (или позже) в вашем spider.

3 ответов


вы можете просто изменить уровень ведения журнала для scrapy (или любой другой регистратор):

logging.getLogger('scrapy').setLevel(logging.WARNING)

это отключает все сообщения журнала меньше


вы могли бы добавить -s LOG_ENABLED=False в качестве параметра при запуске вашего скрипта. Это должно сработать.

Примечание: для версии 1.1 немного изменилось:-s LOG_ENABLED=0


ведение журнала.basicConfig(**kwargs)

эта функция ничего не делает, если регистратор уже есть обработчики настроено для этого.

Scrapy имеет обработчики, настроенные для него, поэтому это не будет работать