【发布时间】:2019-04-15 08:33:08
【问题描述】:
我想将 celery TaskFormatter 添加到我的登录处理程序中。 当我在下面的代码中配置它时它确实有效:
from celery.app.log import TaskFormatter
LOGGER = logging.getLogger()
sh = logging.StreamHandler()
sh.setFormatter(TaskFormatter('%(asctime)s - %(task_id)s - %(task_name)s - %(name)s - %(levelname)s - %(message)s'))
LOGGER.setLevel(logging.INFO)
LOGGER.addHandler(sh)
但是当我尝试在 yaml 文件中配置它时(我使用 pyyaml) 我得到了:
ValueError: Unable to configure formatter 'celery_formatter'
我的 logger.yaml
version: 1
formatters:
celery_formatter:
class: 'celery.app.log.TaskFormatter'
format: '%(asctime)s - %(task_id)s - %(task_name)s - %(name)s - %(levelname)s - %(message)s'
datefmt: '%Y-%m-%d %H:%M'
handlers:
stdout_handler:
class: logging.StreamHandler
level: INFO
formatter: celery_formatter
stream: ext://sys.stdout
loggers:
app_logger:
level: DEBUG
handlers: [file, stdout_handler, stderr_handler]
propagate: no
我错过了什么?
【问题讨论】:
标签: python python-3.x logging celery