我在登錄scrapy時遇到了問題,而且我能找到的大部分內容都已過時。登錄Scrapy
我在settings.py
文件中設置LOG_FILE="log.txt"
並從文檔,這應該工作:
Scrapy提供了每個蜘蛛實例中的記錄器,可以訪問和使用這樣的:
import scrapy
class MySpider(scrapy.Spider):
name = 'myspider'
start_urls = ['http://scrapinghub.com']
def parse(self, response):
self.logger.info('Parse function called on %s', response.url)
但是當我做:
class MySpider(CrawlSpider):
#other code
def parse_page(self,response):
self.logger.info("foobar")
我什麼也沒得到。如果我設置
logger = logging.basicConfig(filename="log.txt",level=logging.INFO)
在我的文件的頂部,我進口後,它會創建一個日誌文件,默認的輸出被記錄得很好,但
class MySpider(CrawlSpider):
#other code
def parse_page(self,response):
logger.info("foobar")
未能露面。我也曾嘗試把它在類__init__
,因爲這樣的:
def __init__(self, *a, **kw):
super(FanfictionSpider, self).__init__(*a, **kw)
logging.basicConfig(filename="log.txt",level=logging.INFO)
我再次得到任何輸出到文件,只需到控制檯,並foobar
沒有顯示出來。有人可以指導我如何正確登錄Scrapy嗎?
你有沒有檢查過[有關日誌的官方文檔?](http://doc.scrapy.org/en/latest/topics/logging.html#logging-settings)你應該在'settings.py'文件中設置日誌文件名和其他細節。 – Granitosaurus
@Granitosaurus是的,我在問題開始時就這麼說,並且在整個文檔中引用了文檔 –