Django Logging-如何在日志文件中删除SQL查询

时间:2018-10-15 04:26:50

标签: django logging django-logging

我尝试使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,我不想看到。我该如何配置?

enter image description here

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

1 个答案:

答案 0 :(得分:3)

数据库查询由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
    },
},