मैंने एक Django परियोजना में सेलेरी स्थापित की है जिस पर मैं काम कर रहा हूं। मैं अजवाइन के कार्यों के लिए लॉगिंग को अलग करना चाहता हूं, शेष सेलेरी लॉग (सेलेरीकैम, सेलेरीबीट, आदि)।डीजेगो सेलेरी टास्क लॉगिंग
सेलेरी प्रलेखन (http://docs.celeryproject.org/en/latest/userguide/tasks.html#logging) के आधार पर ऐसा लगता है कि मुझे 'celery.task' के लिए एक Django लॉगर को परिभाषित करने में सक्षम होना चाहिए, जो इसे करना चाहिए। हालांकि, जब मैं ऐसा करता हूं, तो लॉग में कुछ भी दिखाई नहीं देता है। अगर मैं एक सामान्य 'अजवाइन' लॉगर बनाता हूं, तो यह सब कुछ दिखाता है, जिसका अर्थ है कि यह लॉगर के नाम से कुछ करना हो सकता है।
मुझे यहां क्या याद आ रही है? क्या यह काम करने का कोई तरीका है, या सभी अजवाइन लॉग एक साथ जाना चाहिए?
इसके लायक होने के लिए, मैंने CELERYD_HIJACK_ROOT_LOGGER = गलत सेट किया है।
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 या celery.task – toad013
धन्यवाद होना चाहता हूँ करने के लिए है बनाने - यकीन नहीं मैं हालांकि पालन करें। मेरे पास celery.task के लिए एक लॉगर है, और उसी प्रभाव के लिए celery.tasks की कोशिश की है। – aravenel