2013-05-08 20 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メッセージIをファイルに出力(stdoutを通じて)情報メッセージをログに記録するにはどうすればよい

の$ LOGFILEに示したように見える

答えて

4

あなたのロガーは、同じようにすぐにそれを作成すると、ガベージコレクションを得ています。ロガーとして参照を保持してから、そのロガーを使用する必要があります。

import logging 


logger = logging.getLogger('app.location') 
logger.info('any message') 
関連する問題