2015-11-22 67 views
0

是否可以在Spider類中設置LOG_LEVEL設置?蜘蛛中的scrapy LOG_LEVEL設置不起作用

當我試圖將其設置爲INFO時,我仍然看到DEBUG消息。

當我將其設置在settings.py文件或通過命令行選項--loglevel時,它可以工作。

我想我可以通過custom_settings屬性設置任何設置。這是一個錯誤? (Scrapy 1.0.3和2.7.10蟒)

class TestSpider(scrapy.Spider): 
    name = "Test" 
    ... 
    custom_settings = { 
     'LOG_LEVEL': 'INFO', 
    } 
+0

這是一個衆所周知的問題:https://github.com/scrapy/scrapy/issues/ 1612 – elias

+0

是的,我在StackOverflow上發佈消息後創建了github票證。 – Michael

回答

0

你可以嘗試這樣的事情:

from scrapy.log import ScrapyFileLogObserver 
from scrapy import log 


class MySpider(BaseSpider): 
    name = "myspider" 

    def __init__(self, name=None, **kwargs): 
     ScrapyFileLogObserver(open("spider.log", 'w'), level=logging.INFO).start() 

     super(MySpider, self).__init__(name, **kwargs) 
+0

好的謝謝,但你知道是否改變'custom_settings'中的設置應該按照我寫的方式工作嗎? – Michael