django日志记录到文件不起作用
django settings.py具有:django日志记录到文件不起作用,django,Django,django settings.py具有: LOG_LEVEL = 'DEBUG' LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'logfile': { 'level': LOG_LEVEL, 'class': 'logging.handlers.RotatingFileHandler',
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')
我还直接尝试了以下方法:
我没有在日志中看到这条消息。然而,如果有什么东西抛出异常,它会显示在django日志文件中。
另外,如果我在设置中设置DEBUG=False,并使用print语句而不是logger,那么消息将显示在控制台中。
在文档的底部,它说当DEBUG=True时,所有日志级别都应该传播,但它们不是。
如何使日志记录程序消息至少在DEBUG=True的情况下显示在日志文件中?Django Logging 请按照以下步骤操作。 添加django项目根设置.py文件上的配置
LOGGING = {
'handlers': {
'default': {
#'class': 'logging.handlers.TimedRotatingFileHandler',
'class': 'cloghandler.ConcurrentRotatingFileHandler',
'formatter': 'standard',
#'level': 'DEBUG',
#'filters': [],
#'class': 'django.utils.log.AdminEmailHandler'
#'filename': 'project/project/error.log',
'filename' : 'None',
'maxBytes': 1024*1024*10,
'backupCount': 1000,
#'when': 'midnight',
#'interval': 1,
#'utc': True,
},
},
'loggers': {
'': {
'handlers': ['default'],
'level': 'DEBUG',
'propagate': True,
},
},
}
在Views.py文件中
import logging
log = logging.getLogger(__name__)
def test_function(request):
log.debug("Im Here to help you", exc_info=True)
这可能是因为某些视图(erquest)的输入错误,你肯定是指请求。不,只是发布时的输入错误。你可以试着看看它是否适合你。这失败了。日志记录中的几个问题。
import logging
log = logging.getLogger(__name__)
def test_function(request):
log.debug("Im Here to help you", exc_info=True)