我使用CrawlerProcess类使用Monkey.Robotics
从脚本运行Scrapy。根据文档,Scrapy可以在以这种方式运行蜘蛛时使用Core API函数配置日志记录。那么我如何获得Scrapy记录器(所以我能够添加处理程序和过滤器?)。看起来Scrapy在使用配置文件时使用了根记录器,是否可以将其重定向到此用例的单独记录器?
答案 0 :(得分:3)
您无需为此目的获取记录器。只需将设置dict传递给scrapy.utils.log.dictConfig
即可。见https://docs.python.org/2/library/logging.config.html#logging.config.dictConfig。您可以使用scrapy.utils.log.DEFAULT_LOGGING
作为参考:
DEFAULT_LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'loggers': {
'scrapy': {
'level': 'DEBUG',
},
'twisted': {
'level': 'ERROR',
},
}
}
例如,
from scrapy.utils import log
process = CrawlerProcess({
'USER_AGENT': 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)',
})
log.dictConfig({
'version': 1,
'disable_existing_loggers': True,
'loggers': {
'scrapy': {
'level': 'ERROR',
}
}
})
此外,如果您只想减少详细程度,请查看LOG_LEVEL Scrapy设置。