我找不到任何关于使用 Django 1.3 字典配置设置 syslog 日志的信息。Django 文档不涉及 syslog,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',
},
},
}
答案1
终于找到答案了:
from logging.handlers import SysLogHandler
...
'syslog':{
'level':'DEBUG',
'class': 'logging.handlers.SysLogHandler',
'formatter': 'verbose',
'facility': SysLogHandler.LOG_LOCAL2,
},
...
对后代的警告:你必须完全按照上面的方法操作,如果你直接指定类等等,就会发生奇怪的错误。