我在 aws
elastic beanstalk 中使用 django 1.11,我一直在尝试让我的应用程序登录,但没有成功。 . .
我的 settings.py 中有这些
LOGGING_CONFIG = None
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'file': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': '/opt/python/current/app/staging.log',
},
},
'loggers': {
'': {
'handlers': ['file'],
'level': 'DEBUG',
'propagate': True,
},
'django': {
'handlers': ['file'],
'level': 'DEBUG',
'propagate': True,
},
'django.request': {
'handlers': ['file'],
'level': 'DEBUG',
'propagate': True,
},
},
}
import logging.config
logging.config.dictConfig(LOGGING)
然后我尝试调用我的 API 之一并期望日志中会出现一些内容,但它没有。我的 django.request
记录器应该自动记录所有传入的请求,还是我必须创建一个执行 logger.debug('something')
的中间件?
登录django比我想象的要复杂得多:(
最佳答案
Django 记录器扩展在开发和生产中的工作方式不同 (settings.DEBUG=True|False)。
您希望看到的 - http 请求日志 - 由 django.server 记录器编写,
仅在开发服务器(runserver 命令)中处于事件状态。
我看到在您的配置中您使用了 django.request 记录器。这个记录器的名字非常令人困惑——因为正如它的名字所暗示的——用户会期望它记录所有的 http 请求——但它不会。
django.request 将仅记录 4xx 和 5xx 请求。
我做了一个 screencast其中详细解释了这个问题。
关于python - Django 日志记录请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45972977/