2013-11-22 63 views
4

我已配置Django日誌記錄以打印到控制檯以及日誌文件。當我使用python manage.py runserver時,它工作。如何使用gunicorn在django中將log.info()寫入控制檯?

但是,當我運行這個使用gunicorn作爲gunicorn app.wsgi:application,print聲明去控制檯,但log.info()不去任何地方。

任何想法?

+0

什麼是你'log'的記錄器類名? – iMom0

+0

@ iMom0你的意思是這個'logging.getLogger(__ name __)'或這個''class':'logging.StreamHandler''? – ATOzTOA

回答

3

它現在的工作,我不知道該怎麼...

settings.py部分:

LOGGING = { 
    'version': 1, 
    'disable_existing_loggers': True, 

    # How to format the output 
    'formatters': { 
     'standard': { 
      'format' : "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s", 
      'datefmt' : "%d/%b/%Y %H:%M:%S" 
     }, 
    }, 

    # Log handlers (where to go) 
    'handlers': { 
     'null': { 
      'level':'DEBUG', 
      'class':'django.utils.log.NullHandler', 
     }, 
     'logfile': { 
      'level':'DEBUG', 
      'class':'logging.handlers.RotatingFileHandler', 
      'filename': PROJECT_ROOT + "/repackager.log", 
      'maxBytes': 50000, 
      'backupCount': 2, 
      'formatter': 'standard', 
     }, 
     'console':{ 
      'level':'INFO', 
      'class':'logging.StreamHandler', 
      'formatter': 'standard' 
     }, 
     'celery': { 
      'level': 'DEBUG', 
      'class': 'logging.handlers.RotatingFileHandler', 
      'filename': PROJECT_ROOT + "/celery.log", 
      'formatter': 'standard', 
      'maxBytes': 1024 * 1024 * 100, # 100 mb 
     }, 
    }, 

    # Loggers (where does the log come from) 
    'loggers': { 
     'repackager': { 
      'handlers': ['console', 'logfile'], 
      'level': 'DEBUG', 
      'propagate': True, 
     }, 
     'django': { 
      'handlers':['console'], 
      'propagate': True, 
      'level':'WARN', 
     }, 
     'django.db.backends': { 
      'handlers': ['console', 'logfile'], 
      'level': 'WARN', 
      'propagate': False, 
     }, 
     '': { 
      'handlers': ['console', 'logfile'], 
      'level': 'DEBUG', 
     }, 
     'raven': { 
      'level': 'DEBUG', 
      'handlers': ['console'], 
      'propagate': False, 
     }, 
     'sentry.errors': { 
      'level': 'DEBUG', 
      'handlers': ['console'], 
      'propagate': False, 
     }, 
     'gunicorn.error': { 
      'level': 'INFO', 
      'handlers': ['logfile'], 
      'propagate': True, 
     }, 
     'gunicorn.access': { 
      'level': 'INFO', 
      'handlers': ['logfile'], 
      'propagate': False, 
     }, 
     'celery': { 
      'handlers': ['celery'], 
      'level': 'DEBUG', 
     }, 
    } 
} 

views.py

# Logger 
import logging  
log = logging.getLogger(__name__)