调试级别INFO也显示错误吗? Django的

时间:2018-01-31 19:43:19

标签: python django debugging logging

我的django设置了这样的LOGGING,但我意识到使用DEBUG级别,它显示TOO很多,特别是模板variableDoesNotExist debug非常烦人。

我将此作为我当前的设置

LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
    'simple_time': {
        # simple_time, that just outputs the log level name (e.g., DEBUG) plus time and the log message.
        'format': '%(levelname)s %(asctime)s %(message)s'
    },
},
'handlers': {
    'debug_file': {
        'class': 'logging.FileHandler',
        'filename': os.path.join(BASE_DIR) + '/debug.log',
        'formatter': 'simple_time'
    },
},
'loggers': {
    'django': {
        'handlers': ['debug_file'],
        'level': 'DEBUG',
        'propagate': True,
    },
},

}

我想知道我是否将level更改为INFO它是否会显示INFO而不会显示ERROR级别?

否则,是否可以将不同级别拆分为不同的文件?

我尝试过类似的东西,但不确定它是否能正常工作

'handlers': {
    'debug_file': {
        'class': 'logging.FileHandler',
        'filename': os.path.join(BASE_DIR) + '/debug.log',
        'formatter': 'simple_time'
    },
    'info_file': {
        'class': 'logging.FileHandler',
        'filename': os.path.join(BASE_DIR) + '/info.log',
        'formatter': 'simple_time'
    },
},
'loggers': {
    'django_debug': {
        'handlers': ['debug_file'],
        'level': 'DEBUG',
        'propagate': True,
    },
    'django_info': {
        'handlers': ['info_file'],
        'level': 'INFO',
        'propagate': True,
    },
},

提前感谢任何建议

1 个答案:

答案 0 :(得分:2)

设置日志级别始终意味着显示该级别或更高级别的任何内容。

the docs可以看出,ERROR高于INFO,因此将级别设置为INFO将同时显示 - 以及WARNING和CRITICAL,这是最高级别。

但是,您当然可以为不同级别设置两个不同的记录器。