Python 默认 Logging 级别及其示例
在开发Python应用程序时,日志记录(Logging)是调试和监控程序运行状态的重要工具。Python的logging
模块提供了一种灵活且强大的方式来记录应用程序的信息。本文将详细介绍Python logging
模块的默认级别,并通过示例来说明如何使用这些级别。
Python Logging 模块简介
Python的logging
模块是标准库的一部分,它提供了一种机制来记录应用程序的事件信息。通过配置不同的日志级别,开发者可以选择性地记录不同严重程度的消息。
日志级别
logging
模块定义了以下几个日志级别,按严重程度从低到高排列:
- DEBUG:详细信息,通常只在调试问题时使用。
- INFO:确认一切按预期工作。
- WARNING:表示可能发生了一些意外,但应用程序仍然可以继续运行。
- ERROR:由于更严重的问题,某些功能不能正常工作。
- CRITICAL:严重的错误,表明程序可能无法继续运行。
默认日志级别
Python logging
模块的默认日志级别是WARNING
。这意味着,如果不进行任何配置,只有WARNING
及以上级别的日志消息会被记录。
示例代码
下面是一个简单的示例,演示如何使用Python的logging
模块记录不同级别的日志消息,并展示默认日志级别的效果。
python">import logging# 创建一个logger对象
logger = logging.getLogger('example_logger')# 设置默认的日志级别
logger.setLevel(logging.DEBUG)# 创建一个StreamHandler,用于输出到控制台
handler = logging.StreamHandler()# 设置handler的日志级别为默认级别(WARNING)
handler.setLevel(logging.WARNING)# 创建一个Formatter,用于设置日志格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)# 将handler添加到logger
logger.addHandler(handler)# 记录不同级别的日志消息
logger.debug('这是一条调试信息')
logger.info('这是一条信息消息')
logger.warning('这是一条警告消息')
logger.error('这是一条错误消息')
logger.critical('这是一条严重错误消息')
运行结果
当你运行上述代码时,控制台将只显示WARNING
及以上级别的日志消息,因为StreamHandler
的默认日志级别是WARNING
。
2023-10-05 12:34:56,789 - example_logger - WARNING - 这是一条警告消息
2023-10-05 12:34:56,790 - example_logger - ERROR - 这是一条错误消息
2023-10-05 12:34:56,790 - example_logger - CRITICAL - 这是一条严重错误消息
修改默认日志级别
如果你希望记录所有级别的日志消息,可以修改StreamHandler
的日志级别。例如,将其设置为DEBUG
:
python">import logging# 创建一个logger对象
logger = logging.getLogger('example_logger')# 设置logger的日志级别为DEBUG
logger.setLevel(logging.DEBUG)# 创建一个StreamHandler,用于输出到控制台
handler = logging.StreamHandler()# 设置handler的日志级别为DEBUG
handler.setLevel(logging.DEBUG)# 创建一个Formatter,用于设置日志格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)# 将handler添加到logger
logger.addHandler(handler)# 记录不同级别的日志消息
logger.debug('这是一条调试信息')
logger.info('这是一条信息消息')
logger.warning('这是一条警告消息')
logger.error('这是一条错误消息')
logger.critical('这是一条严重错误消息')
运行结果
这次运行上述代码时,控制台将显示所有级别的日志消息:
2023-10-05 12:34:56,789 - example_logger - DEBUG - 这是一条调试信息
2023-10-05 12:34:56,790 - example_logger - INFO - 这是一条信息消息
2023-10-05 12:34:56,791 - example_logger - WARNING - 这是一条警告消息
2023-10-05 12:34:56,792 - example_logger - ERROR - 这是一条错误消息
2023-10-05 12:34:56,793 - example_logger - CRITICAL - 这是一条严重错误消息
总结
通过本文,你了解了Python logging
模块的默认日志级别是WARNING
,并且学会了如何通过修改StreamHandler
的日志级别来记录不同级别的日志消息。日志记录是开发过程中不可或缺的一部分,合理配置日志级别可以帮助你更好地调试和监控应用程序。
欢迎点赞、关注、转发、收藏!!!