Ich habe eine Spinne mit Scrapy erstellt, aber ich kann nicht herausfinden, wie die Standardprotokollierung deaktiviert wird. Von the documentation scheint es, dass ichSo deaktivieren Sie die Protokollierung in Scrapy (Python)
logging.basicConfig(level=logging.ERROR)
indem der Lage sein, um es auszuschalten sollte Aber das hat keine Wirkung. Aus dem Blick auf den Code für logging.basicConfig() Ich vermute, das ist, weil "der Root-Logger Handler konfiguriert hat", aber vielleicht irre ich mich damit. Jedenfalls kann jemand erklären, was ich tun müssen, um Scrapy zu bekommen nicht ausgegeben die übliche
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
usw.?
EDIT: Wie unten durch sirfz vorgeschlagen, die Linie
logging.getLogger('scrapy').setLevel(logging.WARNING)
verwendet werden, können die Protokollstufe einzustellen. Es scheint jedoch, dass Sie dies in der Init-Methode (oder später) in Ihrer Spinne tun müssen.
Dank für Ihre Hilfe danken! Ich habe herausgefunden, dass das Setzen des Levels nur funktioniert, wenn ich es in den __init__ meiner Spinne lege. Ich führe meine Spinne von einem Skript aus - wenn ich die Protokollierungsstufe vor dem Crawl einstelle, wird sie (anscheinend) auf INFO zurückgesetzt. Ich rufe nicht explizit "configure_logging" auf, aber ich denke, dass Scrapy das während des Starts macht. (?) –
Ich habe selbst nie Scrapy benutzt, aber ich denke, der Crawler wendet eine Standardkonfiguration für 'Logging' an, was seltsam ist, da dies dem Benutzer überlassen werden sollte. – sirfz