Ho installato Celery in un progetto Django su cui sto lavorando. Vorrei separare la registrazione dei compiti di sedano e il resto dei registri di sedano (sedano, sedano, ecc.).Django Celery Task Logging
In base alla documentazione di Celery (http://docs.celeryproject.org/en/latest/userguide/tasks.html#logging) sembra che dovrei essere in grado di definire un logger Django per "celery.task" che dovrebbe fare ciò. Tuttavia, quando faccio questo, non compare nulla nei log. Tutto appare se creo un logger generico "celery", il che implica che potrebbe essere qualcosa a che fare con il nome del logger.
Cosa mi manca qui? C'è un modo per farlo funzionare o tutti i registri di sedano vanno insieme?
Per quello che vale, ho impostato CELERYD_HIJACK_ROOT_LOGGER = False.
La mia configurazione di registrazione in settings.py:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse'
}
},
'formatters': {
'standard': {
'format': '%(asctime)s %(levelname)s [%(name)s: %(lineno)s] -- %(message)s',
'datefmt': '%m-%d-%Y %H:%M:%S'
},
},
'handlers': {
'logfile': {
'level': 'INFO',
'filters': None,
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/vagrant/logs/logfile.log',
'maxBytes': 1024*1024*5,
'backupCount': 3,
'formatter': 'standard'
},
'debug_logfile': {
'level': 'DEBUG',
'filters': None,
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/vagrant/logs/debug_logfile.log',
'maxBytes': 1024*1024*5,
'backupCount': 5,
'formatter': 'standard'
},
'default_logger': {
'level': 'WARNING',
'filters': None,
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/vagrant/logs/default.log',
'maxBytes': 1024*1024*5,
'backupCount': 2,
'formatter': 'standard'
},
'celery_logger': {
'level': 'DEBUG',
'filters': None,
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/vagrant/logs/celery.log',
'maxBytes': 1024*1024*5,
'backupCount': 2,
'formatter': 'standard'
},
'celery_task_logger': {
'level': 'DEBUG',
'filters': None,
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/vagrant/logs/celery_tasks.log',
'maxBytes': 1024*1024*5,
'backupCount': 2,
'formatter': 'standard'
},
},
'loggers': {
'': {
'handlers': ['default_logger'],
'level': 'WARNING',
'propagate': True,
},
'django': {
'handlers': ['logfile'],
'level': 'INFO',
'propagate': True,
},
'feedmanager': {
'handlers': ['logfile', 'debug_logfile'],
'level': 'DEBUG',
'propagate': True,
},
'recipemanager': {
'handlers': ['logfile', 'debug_logfile'],
'level': 'DEBUG',
'propagate': True,
},
'menumanager': {
'handlers': ['logfile', 'debug_logfile'],
'level': 'DEBUG',
'propagate': True,
},
'celery.task': {
'handlers': ['celery_task_logger'],
'level': 'DEBUG',
'propagate': True,
},
'celery': {
'handlers': ['celery_logger'],
'level': 'DEBUG',
'propagate': True,
},
}
}
celery.tasks o celery.task – toad013
Grazie - non sono sicuro che seguo però. Ho un logger per celery.task, e ho provato sedery.tasks allo stesso effetto. – aravenel