Ich habe eine Menge Fragen zu diesem Thema auf SO, aber die meisten Fragen fehlen die Parameter oder die Implementierungsmethoden. Also, ich bin nicht in der Lage, dies zu debuggen.Sellerie Anmelden Django
Meine einfache Anforderung ist, ich möchte alle (Django und Sellerie) Nachrichten in einer einzigen Datei protokollieren. Das ist mein LOGGING
dict
in settings.py
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'standard': {
'format': '%(asctime)s [%(levelname)s] [%(filename)s:%(lineno)s - %(funcName)s() ] %(name)s: %(message)s'
},
},
'handlers': {
'default': {
'level': 'INFO',
'formatter': 'standard',
'class': 'logging.handlers.TimedRotatingFileHandler',
'filename': 'logger.log',
'when': 'midnight',
'interval': 1
}
},
'loggers': {
'': {
'handlers': ['default'],
'level': 'INFO',
'propagate': False
}
}
}
CELERYD_HIJACK_ROOT_LOGGER = False
Dann habe ich diese Funktion definiert:
@shared_task
def tester():
import logging
logging.info("Log this!!")
tester()
wird in die Protokolldatei zu schreiben.
tester.delay()
schreibt nicht in die Protokolldatei.
Was vermisse ich in dieser einfachen Sache?
Haben Sie versucht, diese [one] (https://stackoverflow.com/questions/13366312/django-celery-logging-best-practice) –
@ArpitSolanki, Ja ich habe es versucht, es funktioniert nicht. Ich bin sicher, da ist etwas offensichtlich, dass ich hier vermisse. – harman786
Ihre Logging-Konfiguration enthält keinen Handler für Sellerie. Versuchen Sie, das von dem Link, den ich gepostet habe, zu sehen und zu sehen, ob es funktioniert –