【发布时间】:2017-06-21 12:40:29
【问题描述】:
django settings.py 有:
LOG_LEVEL = 'DEBUG'
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'logfile': {
'level': LOG_LEVEL,
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/tmp/django.log',
'maxBytes': 1000000,
'backupCount': 10,
},
},
'loggers': {
'django.request': {
'handlers': ['logfile'],
'level': LOG_LEVEL,
'propagate': True,
},
}
}
views.py 有:
import logging
def some_view(request):
logging.error('something')
我还直接从official django 1.8 documentation 中尝试了以下方法:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'file': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': '/path/to/django/debug.log',
},
},
'loggers': {
'django.request': {
'handlers': ['file'],
'level': 'DEBUG',
'propagate': True,
},
},
}
我没有在日志中收到此消息。但是,如果出现异常和异常,则会显示在 django 日志文件中。 此外,如果我在设置中设置 DEBUG=False 并使用打印语句而不是记录器,则消息会显示在控制台中。 在文档的底部,它说当 DEBUG=True 时,所有日志级别都应该传播,但它们不是。 任何想法如何使记录器消息至少在 DEBUG=True 的情况下出现在日志文件中?
【问题讨论】:
-
可能是因为打错了def some_view(erquest):,你的意思肯定是request。
-
不,只是发帖时打错了。
-
你可以试试this answer看看它是否适合你。
标签: django