在开发Python应用程序时,记录程序运行状态、错误信息和调试细节至关重要。Python内置的 logging 模块为我们提供了一套强大而灵活的日志记录机制。本教程将从零开始,详细讲解 Python logging日志库 的基本概念、配置方法和实际应用,即使你是编程小白,也能轻松上手!

相比简单的 print() 输出,日志具有以下优势:
理解以下四个核心概念是使用 Python日志配置 的基础:
Python logging模块定义了以下5个标准日志级别(按严重程度从低到高):
| 级别 | 数值 | 用途 |
|---|---|---|
| DEBUG | 10 | 详细信息,通常只在诊断问题时使用 |
| INFO | 20 | 确认程序按预期工作 |
| WARNING | 30 | 表示发生了一些意外,但程序仍能继续运行 |
| ERROR | 40 | 由于更严重的问题,程序某些功能无法执行 |
| CRITICAL | 50 | 严重错误,程序可能无法继续运行 |
默认情况下,logging模块只处理 WARNING 及以上级别的日志。
下面是一个使用 logging模块使用 的最简示例:
import logging# 记录不同级别的日志logging.debug('这是一个调试信息')logging.info('程序正常运行')logging.warning('警告:磁盘空间不足!')logging.error('发生了一个错误')logging.critical('严重错误:程序即将崩溃')运行结果:
WARNING:root:警告:磁盘空间不足!ERROR:root:发生了一个错误CRITICAL:root:严重错误:程序即将崩溃注意:只有 WARNING 及以上级别的日志被输出,因为默认日志级别是 WARNING。
要输出所有级别的日志并自定义格式,我们需要进行配置。以下是两种常用方式:
import logging# 配置日志级别、格式和输出位置logging.basicConfig( level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s', handlers=[ logging.StreamHandler(), # 输出到控制台 logging.FileHandler('app.log', encoding='utf-8') # 同时写入文件 ])# 测试日志logging.debug('调试信息')logging.info('普通信息')logging.warning('警告信息')import logging# 1. 创建 loggerlogger = logging.getLogger('my_logger')logger.setLevel(logging.DEBUG)# 2. 创建 handler(控制台)console_handler = logging.StreamHandler()console_handler.setLevel(logging.INFO)# 3. 创建 formatterformatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')# 4. 将 formatter 添加到 handlerconsole_handler.setFormatter(formatter)# 5. 将 handler 添加到 loggerlogger.addHandler(console_handler)# 使用 loggerlogger.debug('这条不会显示,因为 console_handler 的级别是 INFO')logger.info('这是一条信息日志')logger.warning('这是一条警告日志')logging.getLogger(__name__))RotatingFileHandler)通过本教程,你已经掌握了 Python logging日志库 的基本用法、核心组件和配置方法。无论是简单的脚本还是复杂的Web应用,合理使用日志都能极大提升开发效率和系统可维护性。
记住关键点:Python日志级别 控制输出内容,logging模块使用 需要理解 Logger、Handler、Formatter 三者关系,而良好的 Python日志配置 是专业开发的标志之一。
现在就去你的项目中试试吧!
本文由主机测评网于2025-12-13发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025127353.html