在 Client/Producer 上记录 Celery

Logging Celery on Client/Producer

不是关于如何捕获 celery worker 日志的问题。有什么方法可以捕获生产者上的芹菜日志记录。我想要的是在我调用 task.delay(...)task.apply_async(...).

时捕获生产者上芹菜生成的每个日志

编辑: 我不想捕获生产者的工人日志。我想捕获从我调用 apply_async 到任务被发送到代理的时间 celery 中发生的所有事情。

不,无法捕获生产者上的工作日志。如果抛出,您得到的只是异常。任何日志记录都发生在工作人员端,因此您必须检查该特定工作人员的日志,或者如果您使用某些集中式日志系统,则必须查找该工作人员的日志...

更新:您似乎想在生产者(客户端)端捕获来自 Celery 的最终日志记录。据我所知,Celery 和底层传输处理库 (Kombu) 不记录任何内容。我当然可能是错的,但我不记得在那里看到过任何日志记录,而且我已经多次阅读 Celery(Kombu 不是那么公平)代码......

一个可能的解决方案是让 Celery 工作人员将日志发送到您的 Celery 客户端可以访问的某个集中式系统...