Я создал приложение на Heroku, и я нажимаю на него приложение Django.Вход в Django на Heroku не отображается
Я отслеживаю журналы, используя heroku logs --tail
, чтобы увидеть их в режиме реального времени.
Тогда в моем settings.py
, у меня есть следующие:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': ('%(asctime)s [%(process)d] [%(levelname)s] ' +
'pathname=%(pathname)s lineno=%(lineno)s ' +
'funcname=%(funcName)s %(message)s'),
'datefmt': '%Y-%m-%d %H:%M:%S'
},
'simple': {
'format': '%(levelname)s %(message)s'
}
},
'handlers': {
'null': {
'level': 'DEBUG',
'class': 'logging.NullHandler',
},
'console': {
'level': 'INFO',
'class': 'logging.StreamHandler',
'formatter': 'verbose',
'stream': sys.stdout,
}
},
'loggers': {
'MYAPP': {
'handlers': ['console'],
'level': 'INFO',
}
}
}
Затем, когда я хочу что-то журнал, я использую следующее:
import logging
import sys
logger = logging.getLogger('MYAPP')
logger.info('My message here...')
sys.stdout.flush()
, но это не отражается в мои журналы.
Мои Procfile
:
web: gunicorn myapp.wsgi --log-file=-
EDIT: Любопытно, что я могу реально изменить «MyApp» в «Джанго», когда я определяю мое протоколирование конфигурации, а также logging.getLogger('django')
и что позволяет мне видеть что-либо с помощью print
в моих журналах , но ничего из форматированного регистратора, который я определил.
У меня даже есть PYTHONUNBUFFERED=true
и DEBUG=1
набор для моей промежуточной среды, но я не вижу какой-либо из журналов, которые я вижу при использовании моей локальной версии с foreman start web
.
Что вызывает это и как я вижу свои журналы в Ироку?
что вы, Procfile? С помощью Gunicorn вы можете указать уровень журнала и файл журнала. – pchiquet
Как запустить приложение на Heroku? С uWSGI или Gunicorn или что-то еще? – rkrzr
my 'Procfile' is:' web: gunicorn myapp.wsgi --log-file - ' – lollercoaster