我在Heroku上部署了一个Django应用程序。
我使用默认的日志模块,当DEBUG
为True和False时,我的日志在开发中正常显示。
但是,当使用命令heroku logs --tail
部署到heroku时,我无法看到日志。
这是我的settings.py
文件的内容:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'simple': {
'format': '{levelname} [{asctime}] module:{module} - {message}',
'style': '{',
},
},
'handlers': {
'console': {
'class': 'logging.StreamHandler',
'formatter': 'simple',
'stream': sys.stdout,
},
},
'loggers': { # I tried replacing this with 'root'
'': {
'handlers': ['console'],
'level': 'DEBUG',
},
}
}
在我的文件,如views.py
:
import logging
logger = logging.getLogger(__name__)
logging.debug('something...')
最后,在Procfile
中:
release: python manage.py migrate --settings=myapp.deploy_settings
web: gunicorn myapp.wsgi --log-file -
我也尝试了web: gunicorn myapp.wsgi --log-file=-
,如StackOverflow帖子中提到的,没有成功。
是什么原因造成的?
将logging=False
添加到django_heroku.settings(locals(), logging=False)
中解决了这个问题。