3
顯然,我不應該再使用ScrapyFileLogObserver(http://doc.scrapy.org/en/1.0/topics/logging.html)。但我仍然希望能夠將日誌消息保存到文件中,並且我仍然希望將所有標準Scrapy控制檯信息都保存到文件中。Scrapy:無ScrapyFileLogObserver()記錄到文件
從如何使用日誌模塊讀了,這是我曾嘗試使用代碼:
class BlahSpider(CrawlSpider):
name = 'blah'
allowed_domains = ['blah.com']
start_urls = ['https://www.blah.com/blahblahblah']
rules = (
Rule(SgmlLinkExtractor(allow=r'whatever'), callback='parse_item', follow=True),
)
def __init__(self):
CrawlSpider.__init__(self)
self.logger = logging.getLogger()
self.logger.setLevel(logging.DEBUG)
logging.basicConfig(filename='debug_log.txt', filemode='w', format='%(asctime)s %(levelname)s: %(message)s',
level=logging.DEBUG)
console = logging.StreamHandler()
console.setLevel(logging.DEBUG)
simple_format = logging.Formatter('%(levelname)s: %(message)s')
console.setFormatter(simple_format)
self.logger.addHandler(console)
self.logger.info("Something")
def parse_item(self):
i = BlahItem()
return i
它運行正常,並將其保存在「東西」的文件。但是,我在命令提示符窗口中看到的所有東西,以前用於ScrapyFileLogObserver時保存到文件中的所有內容現在都不會保存。
我以爲我的「控制檯」處理程序與「logging.StreamHandler()」應該處理,但這正是我讀過的,我真的不明白它是如何工作的。
任何人都可以指出我錯過了什麼或我哪裏出了錯?
謝謝。