Всем привет.
Настройки логов в Джанго:
CELERYD_HIJACK_ROOT_LOGGER = False
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'colored': {
'()': DjangoColorsFormatter,
'format': '[%(asctime)s] - %(levelname)s - %(message)s \n',
'datefmt': '%d/%b/%Y %H:%M:%S',
},
},
'handlers': {
'console': {
'class': 'logging.StreamHandler',
'formatter': 'colored',
},
},
'loggers': {
'': {
'handlers': ['console'],
'level': 'DEBUG',
'propagate': False,
},
'django.request': {
'level': 'DEBUG',
'handlers': ['console'],
'propagate': False,
}
},
}
Вызываю логгер при запуске таска:
 from celery.utils.log import get_task_logger
logger = get_task_logger(__name__)
@app.task()
def my_new_task():
    raise Exception('spam-eggs') 
В логах ничего.
Да, можно сделать:
 def my_new_task():
    try:
        ...
    except:
        import traceback
        logger.info(traceback.format_exc())
Но это же, простите, извращение…
Гугл выдает обсуждения типа вот такого, но предложенные там решения тоже костыли.
Что я делаю не так?