是否可以将[scrapy.core.engine]和[scrapy.extensions.logstats]的日志级别设置为"INFO"以及我的自定义记录器,并将其他所有内容设置为"警告"?我想这样做是为了从我的日志文件中删除一些混乱。
提前感谢!
编辑:
我尝试按照此答案中的说明执行以下操作:
DEFAULT_LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'root': {'level': 'WARNING'},
'loggers': {
'twisted': {
'level': 'ERROR',
},
'scrapy.core.engine': {
'level': 'INFO',
},
'scrapy.extensions.logstats': {
'level': 'INFO',
},
}
}
不幸的是,由于某种原因,这不起作用。默认的"警告"级别不会应用于所有记录器,并且上述记录器的指定级别似乎不起作用......
显然 scrapy 使用logging
.您可以使用如下所示的内容:
import logging
for key in logging.Logger.manager.loggerDict:
if "scrapy.core.engine" in key or "scrapy.extensions.logstat" in key:
logging.getLogger(key).setLevel(logging.WARNING)
logging.basicConfig(level=logging.INFO)
我还没有用scrapy测试过它,但我将其用于其他软件包。希望它有效。