2013-05-08 1 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')