有什么办法可以更改 scrapy 中的日志消息格式?

Is there any way to change the log message format in scrapy?

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

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

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

如有任何帮助,我们将不胜感激。提前致谢!

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 等记录

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

在settings.py中添加

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

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