破旧的内置伐木机:
非常冗长。在
我试图设置一个不同的日志级别DEBUG,而不是用户spider日志级别INFO。这样我就能减少噪音。在
此助手函数有时起作用:
def set_loggers_level(level=logging.DEBUG):
loggers = [
'scrapy.utils.log',
'scrapy.crawler',
'scrapy.middleware',
'scrapy.core.engine',
'scrapy.extensions.logstats',
'scrapy.extensions.telnet',
'scrapy.core.scraper',
'scrapy.statscollectors'
]
for logger_name in loggers:
logger = logging.getLogger(logger_name)
logger.setLevel(level)
for handler in logger.handlers:
handler.setLevel(level)
我从UserSpider init调用它:
^{pr2}$这种方法有时有效,有时不行。在
正确的解决方案是什么?在
您只需在您的
settings.py
中适当地设置LOG_LEVEL
,请阅读以下内容:https://doc.scrapy.org/en/latest/topics/settings.html#std:setting-LOG_LEVEL如果项目范围的设置不够集中,可以使用
custom_settings
为每个spider设置它们:资料来源: https://doc.scrapy.org/en/latest/topics/settings.html#settings-per-spider
为每个日志处理程序设置不同的日志级别不是很现实。在
最终,更好的方法是从另一个脚本启动scrapy cli工具,并使用解析器输出过滤器日志。在
我偶然发现了同样的问题。我尝试了各种方法,但看起来由于scray使用日志模块,所以必须在全局级别设置它,这导致scray打印所有调试信息。在
我找到了更可靠的解决方案,使用bool标志和print语句进行调试,并使用logger获取信息、错误和警告。在
相关问题
PyPI热门下载资源包