我有多个远程芹菜工人的设置。在通过 apply_async 启动任务的主程序中,我需要持续访问活动远程工作人员的标准输出。
是否可以仅使用 Celery API?
我认为你应该设置你的SysLogHandler。CELERY_REDIRECT_STDOUTS和CELERY_REDIRECT_STDOUTS_LEVEL默认情况下与当前记录器一起工作。
您可以尝试这样的示例(在远程服务器上):
import logging from logging.handlers import SysLogHandler logger = logging.getLogger() logger.setLevel(logging.INFO) # host is your server that used for the log syslog = SysLogHandler(address=(host, port)) formatter = logging.Formatter('%(name)s: %(levelname)s %(message)s') syslog.setFormatter(formatter) logger.addHandler(syslog) # check it logger.info("Test test")