第十四章:应用构建模块-logging:报告状态、错误和信息消息-详细级别

14.8.5 详细级别
logging API还有一个有用的特性,即能够采用不同的日志级别(log level)生成不同的消息。例如,这说明代码可以附带调试信息,并且可以适当地设置日志级别,使其不会在生产系统中写出这些调试消息。表14-2列出了logging定义的日志级别。
第十四章:应用构建模块-logging:报告状态、错误和信息消息-详细级别_第1张图片
对于某个级别的日志信息,只有当处理器和日志记录器被配置为可以发布该级别(或更高级别)的消息时,才会显示这个日志消息。例如,如果一个消息的级别是CRITICAL,而日志记录器被设置为ERROR,那么就会生成这个消息(50>40)。如果消息是WARNING,而日志记录器被设置为只生成已设置为ERROR的消息,那么就不会生成这个消息(30<40)。

import logging
import sys

LEVELS = {
    'debug':logging.DEBUG,
    'info':logging.INFO,
    'warning':logging.WARNING,
    'error':logging.ERROR,
    'critical':logging.CRITICAL,
    }

if len(sys.argv) > 1:
    level_name = sys.argv[1]
    level = LEVELS.get(level_name,logging.NOTSET)
    logging.basicConfig(level=level)

logging.debug('This is a debug message')
logging.info('This is an info message')
logging.warning('This is a warning message')
logging.error('This is an error mesasge')
logging.critical('This is a critical message')

运行这个脚本并提供参数(如debug或warning),以查看在不同级别会显示哪些消息。
第十四章:应用构建模块-logging:报告状态、错误和信息消息-详细级别_第2张图片

你可能感兴趣的:(Python标准库)