Использовать стандартную регистрацию Python в сельдерее

Я должен использовать сельдерей в уже существующей системе. В предыдущей версии системы уже использовалась стандартная регистрация Python.

Мой код похож на приведенный ниже код. Процесс один и два процесса – это нецелевые функции, которые регистрируются повсюду. Мы используем протоколирование для отслеживания потери данных, если что-то происходит плохо.

@task def add(x,y): process_one(x,y) process_two(x,y) 

Как я могу внедрить сельдерей и использовать стандартную регистрацию Python вместо регистрации сельдерея, поэтому наша старая система регистрации не потеряна?

Я попытался изменить import logging из Python в: logger = add.get_logger() и передать logger ко всем функциям, но я не думаю, что это хорошая практика. Мне нужно другое решение.

Обновление: для добавления регистрации приложений в журнал регистрации сельдерея вы можете выполнить:

 $ manage.py celeryd -v 2 -B -s celery -E -l debug --traceback \ --settings=settings --logfile=/(path to your log folder)/celeryd.log 

Когда -l (logging) в качестве debug , наше ведение журнала приложений / Python автоматически включается в наш журнал logger = add.get_logger() : нет необходимости выполнять logger = add.get_logger() .

    Вероятно, вам нужна эта настройка:

     CELERYD_HIJACK_ROOT_LOGGER = False 

    Расскажи мне, как это получается.

    Кстати, причина, по которой он захватывает корневой журнал, заключается в том, что некоторые плохо написанные библиотеки настраивают ведение журнала, что-то, что библиотека никогда не должна делать, в результате чего пользователи не получат выход от работника celeryd 🙁