scrapy使用python3日志模块问题

时间:2016-08-13 03:12:40

标签: python-3.x logging scrapy

我使用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.logb.log

任何答案都会表示赞赏。

1 个答案:

答案 0 :(得分:0)

您可以通过LOG_FILE中的settings.py设置或命令行参数--logfile FILE设置日志文件,即scrapy crawl myspider --logfile myspider.log

As described in the official docs