出于调试目的,我需要在使用Scrapy时看到日志消息和打印语句的输出。 Hovewer,当我启动Scrapy记录器时,我不再看到打印语句的输出!我应该如何修改以下示例代码以查看两个打印语句?
from scrapy import log
print 'PRINT OUTPUT BEFORE'
log.start(loglevel='DEBUG',logstdout=True)
print 'PRINT OUTPUT AFTER'
输出:
PRINT OUTPUT BEFORE
我相信重定向stderr或stdout可以解决问题。任何帮助将不胜感激!
答案 0 :(得分:6)
logstdout
必须设置为False才能禁止重定向stdout。
from scrapy import log
print 'PRINT OUTPUT BEFORE'
log.start(loglevel='DEBUG', logstdout=False)
print 'PRINT OUTPUT AFTER'
输出:
PRINT OUTPUT BEFORE
PRINT OUTPUT AFTER
答案 1 :(得分:2)
我认为以上适用于旧版本。他们似乎已弃用scrapy.log。 参考: http://doc.scrapy.org/en/1.0/topics/logging.html
例如:
import logging
logging.warning("This is a warning")
logging.info("This is an info")
logging.error("This is an error")
我的配置设置为警告。我只在下面
WARNING:root:This is a warning
ERROR:root:This is an error
请注意,如果您使用scrapyd,这将非常有用。由于scrapy爬行会打印所有,但scrapyd也不会这样做。