Мне не удалось найти информацию о настройке ведения журнала syslog с конфигурацией словаря Django 1.3. Документы Django не охватывают системный журнал, а документация python не совсем ясна и вообще не охватывает конфигурацию словаря. Я начал со следующего, но застрял в том, как настроить 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',
},
},
}
Наконец нашел ответ:
from logging.handlers import SysLogHandler
...
'syslog':{
'level':'DEBUG',
'class': 'logging.handlers.SysLogHandler',
'formatter': 'verbose',
'facility': SysLogHandler.LOG_LOCAL2,
},
...
Предупреждение будущим поколениям: вы в значительной степени должны делать это точно так же, как указано выше, странные ошибки возникают, если вы указываете класс напрямую и т. д.