Как отключить вход в 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 имеет обработчики, настроенные для него, поэтому это не будет работать