有没有办法在scrapy中更改日志消息格式?

时间:2015-03-03 12:06:56

标签: python-2.7 web-scraping scrapy scraper twisted.internet

我想修改scrapy日志消息以在其开头包含用户标识。例如,而不是这个

2015-03-03 17:09:34+0530 [scrapy] INFO: Enabled spider middlewares: HttpErrorMiddleware, OffsiteMiddleware, RefererMiddleware, UrlLengthMiddleware, DepthMiddleware

是否可以使其显示为

**user_id**:2015-03-03 17:09:34+0530 [scrapy] INFO: Enabled spider middlewares: HttpErrorMiddleware, OffsiteMiddleware, RefererMiddleware, UrlLengthMiddleware, DepthMiddleware

另外,有没有办法只记录用户消息;即,只记录我要记录的消息,我将从代码中提供这些消息?

非常感谢任何帮助。提前谢谢!

2 个答案:

答案 0 :(得分:2)

Scrapy使用Twisted的日志系统,它建立在日志标准库之上。我没有答案,如何更改scrapy本身生成的日志的日期格式。

对于你的第二个问题,我可能会回答。我认为你应该通过设置

完全消除scrapy日志记录
LOG_ENABLED = False
你在settings.py中的

。然后,为自己配置日志模块(在蜘蛛模块之上)

logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(levelname)8s\t%(message)s', )

然后使用logging.loglogging.infologging.debug等进行记录。

我留给你找出所需的记录格式。

答案 1 :(得分:2)

在settings.py中添加

LOG_FORMAT = user_id +' %(asctime)s %(levelname)8s\t%(message)s'

更多信息https://doc.scrapy.org/en/latest/topics/logging.html#logging-settings