Django

如何使用 Django 1.3 設置 SysLogHandler

  • June 3, 2011

我沒有找到任何有關使用 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, 
       },
...

**對後代的警告:**你幾乎必須像上面那樣做,如果你直接指定類會發生奇怪的錯誤等等。

引用自:https://serverfault.com/questions/275921