Django
如何使用 Django 1.3 設置 SysLogHandler
我沒有找到任何有關使用 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', }, }, }
終於找到了答案:
from logging.handlers import SysLogHandler ... 'syslog':{ 'level':'DEBUG', 'class': 'logging.handlers.SysLogHandler', 'formatter': 'verbose', 'facility': SysLogHandler.LOG_LOCAL2, }, ...
**對後代的警告:**你幾乎必須像上面那樣做,如果你直接指定類會發生奇怪的錯誤等等。