Celery截断日志消息

时间:2012-04-08 09:57:47

标签: python logging celery django-celery

我的Celery日志一直截断(不是很)长错误消息,如下所示:

[2012-04-08 04:53:10,084: INFO/MainProcess] Task mainapp.tasks.async_submitter[2df2fe93-156b-4944-9ecf-c55ba53e8aaa] succeeded in 0.190640926361s: 'An error occurred during the submission of...

毋庸置疑,这消除了记录目的的一半。我怎样才能阻止这种情况发生?

我在linux上用django-celery(通过django-supervisor和supervisor)运行芹菜。

2 个答案:

答案 0 :(得分:1)

不幸的是,Celery默认会截断消息是。

从版本 3.1.7 3.1.9 ,似乎可以通过修补模块的全局来调整此限制:

import celery.worker.job

celery.worker.job.RESULT_MAXLEN = 1048576  # 1 Mib

答案 1 :(得分:0)

任务,按设计返回,应该用于代码中的进一步处理,这就是为什么开发人员可以自由截断日志,也因为返回可能是非常大的详细结果,并且可能使日志信息无法读取输出。 当然我可能是错的但是因为我和Celery一起工作,我总是发现这个逻辑正确并且从不打扰我。 在您的情况下,我认为在返回之前使用logger.info记录消息是有意义的(不会被截断),如果您要返回的消息实际上不需要进行进一步处理,但仅用于记录目的,请不要返回任何值。