How to setup SysLogHandler with Django 1.3 logging dictionary configuration

后端 未结 2 1994
灰色年华
灰色年华 2021-02-07 06:09

I\'m having no luck finding any information on setting up syslog logging with Django 1.3 dictionary configuration. The Django documents don\'t cover syslog and the python docum

2条回答
  •  北荒
    北荒 (楼主)
    2021-02-07 07:06

    Finally found the answer, modify the configuration in the original question to have the following for 'syslog':

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

    Warning to future generations: you pretty much have to do it exactly like the above, weird errors happen if you specify the class directly etc.

    Update: I've just moved to Amazon Linux (and Django 1.5) and used the following change to the configuration for the 'syslog' section in that environment, note the 'address' argument:

        'syslog':{
            'level':'DEBUG',
            'class': 'logging.handlers.SysLogHandler',
            'formatter': 'verbose',
            'facility': 'local1',
            'address': '/dev/log',
        },
    

提交回复
热议问题