2017-02-15 19 views
2

Я пытаюсь настроить мой проект Django с помощью uWSGI. Я определил свои обработчики журналов в settings.py, и они будут записывать журналы в то время, когда я использую сервер разработки. Однако, когда я перехожу на свой производственный сервер с помощью uWSGI, хотя файл журнала создан, он пуст.Django uWSGI создает файл журнала, но файл пуст (работает с сервером разработки)

Мои settings.py содержит следующее:

import logging 
logger = logging.getLogger('django_auth_ldap') 
logger.addHandler(logging.StreamHandler()) 
logger.setLevel(logging.DEBUG) 

LOGGING = { 
    'version': 1, 
    'disable_existing_loggers': False, 
    'handlers': { 
    'console': { 
     'class': 'logging.StreamHandler', 
     }, 
     'file': { 
      'level': 'DEBUG', 
      'class': 'logging.FileHandler', 
      'filename': '/tmp/zdebug.log', 
      }, 
     }, 
     'loggers': { 
      'django': { 
       'handlers': ['console','file'], 
       'level': os.getenv('DJANGO_LOG_LEVEL', 'INFO'), 
      }, 
      'devices': { 
       'handlers': ['console','file'], 
       'level': 'INFO' 
      }, 
      'stack_configs': { 
       'handlers': ['console','file'], 
       'level': 'INFO' 
      }, 
      'django_auth_ldap': { 
       'handlers': ['console','file'], 
       'level': 'INFO' 
       },  
      }, 
    } 

Заранее спасибо за любую помощь вы можете предложить.

ответ

2

Это потому, что ваш конфиг неправильный. Вы положили loggers внутри handlers, что нарушает структуру LOGGING. Он должен иметь handlers, loggers, filters и formatters на том же уровне Dict отступа:

LOGGING = { 
    'version': 1, 
    'disable_existing_loggers': False, 
    'handlers': { 
     'console': { 
      'class': 'logging.StreamHandler', 
     }, 
     'file': { 
      'level': 'DEBUG', 
      'class': 'logging.FileHandler', 
      'filename': '/tmp/zdebug.log', 
     }, 
    }, 
    'loggers': { 
     'django': { 
      'handlers': ['console','file'], 
      'level': os.getenv('DJANGO_LOG_LEVEL', 'INFO'), 
     }, 
     'devices': { 
      'handlers': ['console','file'], 
      'level': 'INFO' 
     }, 
     'stack_configs': { 
      'handlers': ['console','file'], 
      'level': 'INFO' 
     }, 
     'django_auth_ldap': { 
      'handlers': ['console','file'], 
      'level': 'INFO' 
     }, 
    }, 
} 

Пустой файл, который вы видите, созданный на Django загрузки и журналы Django на сервере разработки, так как он использует регистраторы по умолчанию , игнорируя неверную конфигурацию.

 Смежные вопросы

  • Нет связанных вопросов^_^