Использовать стандартное ведение журнала Python в Celery

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

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

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

Как я могу реализовать Celery и использовать стандартное ведение журнала Python вместо ведения журнала Celery, чтобы наша старая система ведения журнала не была потеряна?

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

Обновление: чтобы добавить ведение журнала приложения в журнал Celery, вы можете выполнить:

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

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

18
задан David Cain 9 August 2013 в 19:34
поделиться