С обычными регистраторами Python вы можете настроить формат строки и формат даты следующим образом:
{
'format': '%(asctime)s.%(msecs)d [%(process)d] %(levelname)s [%(name)s] %(message)s',
'datefmt': %d/%m/%Y-%H:%M:%S'
}
Но я совершенно не могу найти способ передать datefmt
в регистратор задач Celery. Кажется, что это такая базовая функциональность, что я удивляюсь, если это невозможно.
Самым близким, что я получил, было следование технике, изложенной в этой статье . Суть его в том, чтобы использовать сигнал after_setup_task_logger
для настройки обработчика регистратора для передачи пользовательского TaskFormatter
. Но хитрость в том, что хотя TaskFormatter
позволяет передавать строку форматирования, похоже, что нет никаких условий, позволяющих передавать datefmt
.
Это, кажется, подтверждается этим открытым выпуском на github Celery.
Так есть что-то очевидное, что я упускаю? Уловка, которая может быть сделана без ожидания сельдерея, чтобы решить вышеупомянутую проблему? Это действительно невозможно?