我无法在运行在Elastic Beanstalk上的Django应用上运行日志。
Settings.py:
LOGGING = {
"version": 1,"disable_existing_loggers": False,"formatters": {
"verbose": {"format": "%(asctime)s %(levelname)s %(module)s: %(message)s"}
},"handlers": {
"django": {
"level": "INFO","class": "logging.FileHandler","filename": "/opt/python/log/django.log","formatter": "verbose",}
},"loggers": {
"django": {"handlers": ["django"],"level": "INFO","propagate": True}
},}
如果我将日志级别更改为DEBUG,则日志中会有很多操作,但是仍然不包含logger.info()或logger.debug()调用。
.ebextensions / logging.config:
commands:
01_create_file:
command: touch /opt/python/log/django.log
02_change_permissions:
command: chmod g+s /opt/python/log/django.log
03_change_owner:
command: chown wsgi:wsgi /opt/python/log/django.log
我如何使用日志记录:
import logging
logger = logging.getLogger("django")
logger.info("Testing")
当我在本地运行该应用程序时,使用以下设置成功将日志发送到控制台:
LOGGING = {
'version': 1,'disable_existing_loggers': False,'handlers': {
'console': {
'class': 'logging.StreamHandler',},'loggers': {
'django': {
'handlers': ['console'],'level': os.getenv('DJANGO_LOG_LEVEL','INFO'),}