2013-05-08 17 views
6

Próbuję skonfigurować moje ustawienia rejestrowania, aby wysłać logging.info('any message') do pliku poprzez stdout.Gunicorn Django i rejestrowanie informacji w pliku

To mój gunicorn_django scenariusz:

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

Są to moje ustawienia rejestrowania:

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, 
     }, 
    } 
} 

Kiedy zrobić:

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

To nie jest zalogowany do gunicorn_django $ LOGFILE. Zaledwie print >> sys.stderr komunikaty wydają się być pokazał w $ LOGFILE

Jak mogę rejestrować komunikaty informacyjne (poprzez standardowe wyjście) do pliku

Odpowiedz

4

Twój rejestrator jest po prostu coraz śmieci zbierane jak tylko go utworzyć. Należy zachować odniesienie do niego jako rejestratora, a następnie użyć tego rejestratora, tak jak:

import logging 


logger = logging.getLogger('app.location') 
logger.info('any message') 
Powiązane problemy