Como configurar o SysLogHandler com o Django 1.3

2

Não estou tendo nenhuma sorte em encontrar informações sobre como configurar o log do syslog com a configuração do dicionário do Django 1.3. Os documentos do Django não cobrem o syslog e a documentação do Python é menos que clara e não cobre a configuração do dicionário. Eu comecei com o seguinte, mas estou preso em como configurar o 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',
        },
    },
}
    
por Rob Osborne 01.06.2011 / 16:19

1 resposta

1

Finalmente encontrei a resposta:

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

Aviso para as futuras gerações: você praticamente tem que fazer exatamente como acima, erros estranhos acontecem se você especificar a classe diretamente, etc.

    
por 03.06.2011 / 19:33

Tags