2 votes

Comment configurer SysLogHandler avec Django 1.3

Je n'ai pas réussi à trouver d'informations sur la mise en place de la journalisation syslog avec la configuration du dictionnaire Django 1.3. Les documents de Django ne couvrent pas syslog et la documentation Python est moins claire et ne couvre pas du tout la configuration du dictionnaire. J'ai commencé avec ce qui suit mais je suis bloqué sur la façon de configurer le SysLogHandler.

LOGGING = {
    'version': 1,
    'disable_existing_loggers': True,
    'formatters': {
        'verbose': {
            'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
        },
        'simple': {
            'format': '%(levelname)s %(message)s'
        },
    },
    'handlers': {
        'syslog':{
            'level':'DEBUG',
            'class':'logging.handlers.SysLogHandler',
            'formatter': 'verbose'
        },

    },
    'loggers': {
        'django': {
            'handlers':['syslog'],
            'propagate': True,
            'level':'INFO',
        },
        'myapp': {
            'handlers': ['syslog'],
            'propagate': True,
            'level': 'DEBUG',
        },
    },
}

1voto

Peter Craig Points 1759

J'ai enfin trouvé la réponse :

from logging.handlers import SysLogHandler 
... 
        'syslog':{ 
            'level':'DEBUG', 
            'class': 'logging.handlers.SysLogHandler', 
            'formatter': 'verbose', 
            'facility': SysLogHandler.LOG_LOCAL2, 
        },
...

Avertissement aux générations futures : vous devez faire exactement comme ci-dessus, des erreurs bizarres se produisent si vous spécifiez la classe directement, etc.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X