2012-01-05 3 views
0

Je cours django 1.3 avec django-céleri 2.4.2 en production.La journalisation Django casse le démon céleri

Depuis que j'ai activé la journalisation django dans le fichier django settings.py, le démon céleri (celeryd) ne va plus fonctionner. La suppression de la fonction de journalisation fixe le problème.

Mon code d'enregistrement à settings.py ressemble à ceci:

LOGGING = { 
    'version': 1, 
    'disable_existing_loggers': True, 
    'formatters': { 
     'standard': { 
      'format': '%(asctime)s [%(levelname)s] %(name)s: %(message)s' 
     }, 
    }, 
    'handlers': { 
     'write_to_log': { 
      'level':'WARNING', 
      'class':'logging.handlers.RotatingFileHandler', 
      'filename': '/path/to/project/logs/errors.log', 
      'maxBytes': 1024*1024*5, # 5 MB 
      'backupCount': 5, 
      'formatter':'standard', 
     }, 
    }, 
    'loggers': { 
     'django': { 
      'handlers': ['write_to_log'], 
      'level': 'WARNING', 
      'propagate': True 
     } 
    } 
} 

Edit: j'ai ajouté le code suivant avant le dictionnaire LOGGING, qui fixxes la question. Si quelqu'un a une solution plus propre, j'aimerais l'entendre. Celeryd détournement et configure l'enregistreur de racine, il pourrait donc y avoir un conflit entre les deux.

import sys 
if not "celeryd" in sys.argv: 
    LOGGING = ... 
+2

définissent "le démon de céleri (de celeryd) courir plus WONT". Que se passe-t-il lorsque vous essayez de l'exécuter? – jpic

Répondre

2

Essayez de désactiver le journal Céleri Hijack avec:

CELERYD_HIJACK_ROOT_LOGGER=False 
Questions connexes