【发布时间】:2020-08-04 07:21:33
【问题描述】:
我们使用 Celery 来管理 Python Django 应用程序中的任务。
我们还使用 Django structlog 来记录 Celery 打印的日志消息。
我们通过 Logstash 将这些消息摄取到 ElasticSearch,并注意到我们收到的绝大多数消息是这 2 条:
收到的任务:%s
任务 %(name)s[%(id)s] 在 %(runtime)ss 中成功:%(return_value)s
Celery 使用 INFO 日志记录级别转储它们。
有什么方法可以将这些消息更改为 DEBUG 级别?
这样我们仍然可以使用 -l INFO 运行 celery 并查看其他 INFO 消息,但看不到这些消息?
更新
对于第二条日志消息。
快速阅读后:
-
https://docs.celeryproject.org/en/stable/internals/reference/celery.app.trace.html
-
https://docs.celeryproject.org/en/latest/_modules/celery/app/trace.html
如果没有 Celery、Django 和 structlog 的很多知识,这样的东西会起作用吗?
LOGGING = {
...
'loggers': {
'celery.app.trace': {
'handlers': ['null'],
'propagate': False,
}
...
}
【问题讨论】:
-
如果您可以发布更多信息,例如您想在 DEBUG 模式下登录哪个特定的 ES 类/包/模块,我们可以为您提供帮助
-
对不起,如果我不清楚。 DEBUG \ INFO 级别 - 位于 Celery 记录器级别,而不是 ElasticSearch。我想我可以在 Logstash 中过滤它们,但理想情况下我更希望 Celery 根本不打印它们。
标签: elasticsearch celery elastic-stack django-celery