Scrapy记录级别更改

gue*_*ues 8 logging scrapy python-3.x

我想从我的指令码开始scrapy蜘蛛如图这里

logging.basicConfig(
    filename='log.txt',
    format='%(levelname)s: %(message)s',
    level=logging.CRITICAL
)
configure_logging(install_root_handler=False)
process = CrawlerProcess(get_project_settings())

process.crawl('1740')
process.start() # the script will block here until the crawling is finished
Run Code Online (Sandbox Code Playgroud)

我想配置我的蜘蛛日志记录级别,但即使我没有安装root logger处理程序并使用logging.basicConfig方法配置我的基本配置,它也不遵守确定的级别.

INFO: Enabled spider middlewares:
['scrapy.spidermiddlewares.httperror.HttpErrorMiddleware',
 'scrapy.spidermiddlewares.offsite.OffsiteMiddleware',
 'scrapy.spidermiddlewares.referer.RefererMiddleware',
 'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware',
 'scrapy.spidermiddlewares.depth.DepthMiddleware']
INFO: Enabled item pipelines:
['collector.pipelines.CollectorPipeline']
INFO: Spider opened
INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
Run Code Online (Sandbox Code Playgroud)

它遵循在basicConfig中确定的格式和文件名,但它不使用日志记录级别.我不确定这个地方以外的日志记录级别.

注意:没有任何其他地方我导入日志记录或更改日志记录级别.

Gra*_*rus 10

对于scrapy本身,您应该按照文档中的描述定义日志记录设置settings.py

所以在settings.py你可以设置:

LOG_LEVEL = 'ERROR'  # to only display errors
LOG_FORMAT = '%(levelname)s: %(message)s'
LOG_FILE = 'log.txt'
Run Code Online (Sandbox Code Playgroud)