2016-07-12 148 views
3

我想从我的指令码开始scrapy蜘蛛如图hereScrapy日志记录级别更改

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 

我想配置我的蜘蛛的记录水平,但即使我不安装根记录处理程序和配置我的基本配置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) 

它是在basicConfig中确定的以下格式和文件名,但它不使用日志级别。除此之外,我不确定日志级别。

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

回答

1

对于scrapy本身,你应该在settings.pyas described in the docs

定义日志记录设置所以在settings.py您可以设置:

LOG_LEVEL = 'ERROR' # to only display errors 
LOG_FORMAT = '%(levelname)s: %(message)s' 
LOG_FILE = 'log.txt' 
+0

是它。第一;即使我改变了它的设置,它只适用于标准输出日志。例如,如果我将LOG_ENABLED更改为False,它不会生成日志到标准输出,但它会继续生成主(上)中确定的文件。这种方法的第二个问题是;这是一个全球性的环境。我想单独更改记录器的设置。 – guemues

相关问题