2017-08-17 38 views
0

是否可以將[scrapy.core.engine]和[scrapy.extensions.logstats]的日誌級別設置爲'INFO'以及我的自定義記錄器並將其他設置設置爲'WARNING'?我想這樣做是爲了從我的日誌文件中刪除一些混亂的東西。如何根據scrapy中日誌條目的來源選擇性地設置log_level?

在此先感謝!

編輯:

我想這樣做在this答案描述如下:

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', 
     }, 
    } 
} 

不幸的是,這並不能出於某種原因。默認的'警告'級別不適用於所有記錄器,上述記錄器的指定級別似乎沒有效果...

回答

1

顯然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測試,但我使用它的其它包。希望它有效。

+0

但是,這絕對有幫助,但我一直沒有能夠實現它,沒有搞亂其他記錄器。當這樣做時,其他記錄器的等級變爲零,我還不能理解爲什麼。然而,我已經探索了編輯中提到的另一種方法來解決我的問題。謝謝。 –

相關問題