0

我尝试让 Django Logging 记录来自服务器的错误。现在我的代码:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'file': {
            'level': 'DEBUG',
            'class': 'logging.FileHandler',
            'filename': os.path.join(PROJECT_LOCAL_URL, 'mylog.log'),
        },
    },
    'loggers': {
        'django': {
            'handlers': ['file'],
            'level': 'DEBUG',
            'propagate': True,
        },
    },
}

当我检查mylog.log时,它有太多的 sql 查询字符串 - SELECT FROM,我不想看到。我该如何配置这个?

在此处输入图像描述

如何删除日志文件中的所有 sql 查询?

4

1 回答 1

5

数据库查询由django.db.backends记录器记录。假设您仍然希望DEBUG在其他任何地方进行级别日志记录,那么您需要专门为此记录器定义一个规则以忽略DEBUG日志记录:

'loggers': {
    'django': {
        'handlers': ['file'],
        'level': 'DEBUG',
        'propagate': True,
    },
    'django.db.backends': {
        'handlers': ['file'],
        'level': 'WARNING',   # DEBUG will log all queries, so change it to WARNING.
        'propagate': False,   # Don't propagate to other handlers
    },
},
于 2018-10-15T04:35:42.927 回答