我使用scrapy 1.1.0,我在“蜘蛛”文件夹中有5只蜘蛛。
在每个蜘蛛中,我尝试使用python3日志模块。代码结构如下:
import other modules
import logging
class ExampleSpider(scrapy.Spider):
name = 'special'
def __init__(self):
# other initializations
# set log
self.log = logging.getLogger('special')
self.log.setLevel(logging.DEBUG)
logFormatter = logging.Formatter('%(asctime)s %(levelname)s: %(message)s')
# file handler
fileHandler = logging.FileHandler(LOG_PATH) # LOG_PATH has defined
fileHandler.setLevel(logging.DEBUG)
fileHandler.setFormatter(logFormater)
self.log.addHandler(fileHandler)
# other functions
每个蜘蛛具有相同的结构。当我运行这些蜘蛛时,我检查日志文件,它们确实存在,但它们的大小总是0字节。
另一个问题是,当我运行一个蜘蛛时,它总是会生成两个或多个日志文件。就像我运行a
蜘蛛一样,它会生成a.log
和b.log
。
任何答案都会表示赞赏。
答案 0 :(得分:0)
您可以通过LOG_FILE
中的settings.py
设置或命令行参数--logfile FILE
设置日志文件,即scrapy crawl myspider --logfile myspider.log