更改芹菜工人的日志格式和烧瓶应用程序中的任务

发布于 2025-01-29 04:45:10 字数 1271 浏览 3 评论 0原文

我想更改芹菜工人和任务的记录输出格式。芹菜集成在烧瓶应用程序中,

from celery import signals

@signals.celeryd_init.connect
def setup_log_format(sender, conf, **kwargs):
    conf.worker_log_format = """EventName: worker.event | EventID: worker.event_id | TimeStamp: %(asctime)s | Worker: %(processName)s | Level: %(levelname)s | Message: %(message)s"""
    conf.worker_task_log_format = """EventName: %(task_name)s | EventID: %(task_id)s | TimeStamp: %(asctime)s | Worker: %(processName)s | Level: %(levelname)s | Message: %(message)s"""

我只是在使用此代码片段来更改日志格式。在日志文件中收到以下输出:

Worker主日志

EventName: worker.event | EventID: worker.event_id | TimeStamp: 2022-05-16 13:50:22,527 | Worker: MainProcess | Level: INFO | Message: mingle: searching for neighbors

Worker Task Logs

EventName: worker.event | EventID: worker.event_id | TimeStamp: 2022-05-16 13:50:59,289 | Worker: ForkPoolWorker-1 | Level: INFO | Message: Sample log

我面临以下问题:

  1. 为什么worker.event and code> worker.event_id没有记录吗?
  2. 我为基于任务的日志定义了不同的日志格式,其中包括task_nametask_id ,但仍以log_worker格式出现。什么是原因,如何解决同样的原因?

提前致谢。

I want to change the format of logging output for celery worker and tasks. The celery is integrated in a flask application

from celery import signals

@signals.celeryd_init.connect
def setup_log_format(sender, conf, **kwargs):
    conf.worker_log_format = """EventName: worker.event | EventID: worker.event_id | TimeStamp: %(asctime)s | Worker: %(processName)s | Level: %(levelname)s | Message: %(message)s"""
    conf.worker_task_log_format = """EventName: %(task_name)s | EventID: %(task_id)s | TimeStamp: %(asctime)s | Worker: %(processName)s | Level: %(levelname)s | Message: %(message)s"""

I am simply using this code snippet to change the log formatting. The following output is received in log file:

Worker main logs

EventName: worker.event | EventID: worker.event_id | TimeStamp: 2022-05-16 13:50:22,527 | Worker: MainProcess | Level: INFO | Message: mingle: searching for neighbors

Worker task logs

EventName: worker.event | EventID: worker.event_id | TimeStamp: 2022-05-16 13:50:59,289 | Worker: ForkPoolWorker-1 | Level: INFO | Message: Sample log

I am facing following issues:

  1. Why worker.event and worker.event_id are not getting logged ?
  2. I have defined different log format for task based logs which include task_name and task_id, but it is still coming in log_worker format. What could be the reason and how to resolve the same ?

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文