Django 日志记录在 View 中不起作用

标签 django django-1.9 django-logging

我在 Django 1.9 项目中设置了日志记录。当我在views.py中使用日志记录时,我会按预期自动在django_request.log中获取日志,但不会在mylog.log中获取日志。我哪里错了?

views.py

import logging
logr = logging.getLogger(__name__)

def sample_view(request):
   logr.debug('Ran Sample view')
   return HttpResponse("Done!")

settings.py

LOGGING = {
    'version': 1,
    'disable_existing_loggers': True,
    'formatters': {
        'standard': {
            'format': '%(asctime)s [%(levelname)s] %(name)s: %(message)s'
        },
    },
    'handlers': {
        'default': {
            'level': 'DEBUG',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': 'logs/mylog.log',
            'maxBytes': 1024 * 1024 * 5,  # 5MB
            'backupCount': 5,
            'formatter': 'standard'
        },
        'request_handler': {
            'level': 'DEBUG',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': 'logs/django_request.log',
            'maxBytes': 1024 * 1024 * 5,  # 5MB
            'backupCount': 5,
            'formatter': 'standard'
        },
    },
    'loggers': {
        '': {
            'handlers': ['default'],
            'level': 'DEBUG',
            'propagate': True
        },
        'django.request': {
            'handlers': ['request_handler'],
            'level': 'DEBUG',
            'propagate': False
        },
    }
}

最佳答案

我发现这个“如果 LOGGING dictConfig 中的disable_existing_loggers键设置为True(这是默认值),那么默认配置中的所有记录器都将被禁用。禁用的记录器与删除的记录器不同;记录器仍然存在,但会默默地丢弃记录到它的任何内容,甚至不会将条目传播到父记录器。

关于 https://docs.djangoproject.com/en/1.7/topics/logging/#configuring-logging

因此,如果您设置'disable_existing_loggers': False,您将能够看到所有日志。

关于Django 日志记录在 View 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34461232/

相关文章:

python - Django 1.9 : Should I avoid importing models during `django.setup()` ?

python - 如何在 django 中创建缺失的数据库表?

Django:记录模板错误

django - 在 Django 中添加自定义日志记录

django - 列出 django 模型的显示名称

django - 为什么 Django 在使用 @login_required 装饰器时有太多登录重定向?

Django Rest框架更新Put不允许

python - 在 req.path 中使用 django 的反向函数

python - 使用自定义格式化程序登录 django

django - 如何将django身份验证与react-router集成?