2013-05-08 2 views
6

Я пытаюсь настроить мои параметры ведения журнала для отправки logging.info('any message') в файл через stdout.Gunicorn Django и информация о регистрации в файл

Это мой gunicorn_django сценарий:

$ gunicorn_django -w $NUM_WORKERS --user=$USER --group=$GROUP --log-level=info --log-file=$LOGFILE &>>$LOGFILE

Это мои настройки протоколирования:

import sys 
LOGGING = { 
    'version': 1, 
    'disable_existing_loggers': False, 
    'formatters': { 
     'simple': { 
      'format': '%(levelname)s %(message)s' 
     }, 
    }, 
    'filters': { 
     'require_debug_false': { 
      '()': 'django.utils.log.RequireDebugFalse' 
     } 
    }, 
    'handlers': { 
     'console': { 
      'level': 'INFO', 
      'filters': ['require_debug_false'], 
      'class': 'logging.StreamHandler', 
      'stream': sys.stdout, 
      'formatter': 'simple', 
     }, 
     'mail_admins': { 
      'level': 'ERROR', 
      'filters': ['require_debug_false'], 
      'class': 'django.utils.log.AdminEmailHandler' 
     } 
    }, 
    'loggers': { 
     'app.location': { 
      'handlers': ['console'], 
      'level': 'INFO', 
      'propagate': False, 
     }, 
     'django.request': { 
      'handlers': ['mail_admins'], 
      'level': 'ERROR', 
      'propagate': True, 
     }, 
    } 
} 

Когда я делаю:

import logging 
logging.getLogger('app.location') 
logging.info('any message') 

Он не авторизованы на gunicorn_django $ LOGFILE. Всего print >> sys.stderr сообщения, кажется, показали в $ LOGFILE

Как я могу войти информационные сообщения (через стандартный вывод) в файл

ответ

4

Ваш регистратор просто получать мусор, собранные сразу же после его создания. Вам необходимо сохранить ссылку на него как регистратор, а затем использовать этот регистратор, например:

import logging 


logger = logging.getLogger('app.location') 
logger.info('any message') 
Смежные вопросы