|
logging 库使用说明
1. logging 库简介
logging 是 Python 标准库中的一个模块,用于记录日志信息。它提供了一套灵活的日志记录系统,可以帮助开发者记录程序运行时的各种信息,如调试信息、错误信息等。
2. 基本使用步骤
2.1 导入 logging 模块
首先,需要在代码顶部导入 logging 模块:
Python
采纳
复制
新建文件
import logging
2.2 配置 logging
在记录日志之前,通常需要配置 logging,包括设置日志级别、日志格式和日志输出位置等。
Python
采纳
复制
新建文件
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
datefmt='%Y-%m-%d %H:%M:%S')
level 参数指定了日志级别,低于该级别的日志信息将被忽略。常见的日志级别有 DEBUG、INFO、WARNING、ERROR 和 CRITICAL。
format 参数指定了日志信息的格式。
datefmt 参数指定了日期和时间的格式。
2.3 记录日志
配置完成后,就可以使用 logging 模块提供的函数来记录日志了。这些函数包括 debug()、info()、warning()、error() 和 critical(),分别对应不同的日志级别。
Python
采纳
复制
新建文件
logging.debug('这是一个调试信息')
logging.info('这是一个普通信息')
logging.warning('这是一个警告信息')
logging.error('这是一个错误信息')
logging.critical('这是一个严重错误信息')
3. 高级功能
3.1 日志记录器(Logger)
logging 模块允许创建多个日志记录器(Logger),每个记录器都有自己的日志级别和处理器(Handler)。
Python
采纳
复制
新建文件
logger = logging.getLogger('my_logger')
logger.setLevel(logging.DEBUG)
3.2 处理器(Handler)
处理器负责将日志信息发送到指定的目的地,如控制台、文件等。
Python
采纳
复制
新建文件
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.DEBUG)
file_handler = logging.FileHandler('my_log.log')
file_handler.setLevel(logging.ERROR)
3.3 格式器(Formatter)
格式器用于定义日志信息的格式。
Python
采纳
复制
新建文件
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
console_handler.setFormatter(formatter)
file_handler.setFormatter(formatter)
3.4 将处理器添加到记录器
最后,将处理器添加到记录器中,以便记录器能够将日志信息发送到这些处理器。
Python
采纳
复制
新建文件
logger.addHandler(console_handler)
logger.addHandler(file_handler)
3.5 使用记录器记录日志
现在,可以使用配置好的记录器来记录日志了。
Python
采纳
复制
新建文件
logger.debug('这是一个调试信息')
logger.info('这是一个普通信息')
logger.warning('这是一个警告信息')
logger.error('这是一个错误信息')
logger.critical('这是一个严重错误信息')
4. 示例代码
下面是一个完整的示例代码,展示了如何使用 logging 模块进行日志记录:
Python
采纳
复制
新建文件
import logging
# 创建日志记录器
logger = logging.getLogger('my_logger')
logger.setLevel(logging.DEBUG)
# 创建控制台处理器
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.DEBUG)
# 创建文件处理器
file_handler = logging.FileHandler('my_log.log')
file_handler.setLevel(logging.ERROR)
# 创建格式器
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
# 将格式器添加到处理器
console_handler.setFormatter(formatter)
file_handler.setFormatter(formatter)
# 将处理器添加到记录器
logger.addHandler(console_handler)
logger.addHandler(file_handler)
# 记录日志
logger.debug('这是一个调试信息')
logger.info('这是一个普通信息')
logger.warning('这是一个警告信息')
logger.error('这是一个错误信息')
logger.critical('这是一个严重错误信息')
通过上述步骤,您可以灵活地使用 logging 模块来记录和管理日志信息。 |
|