在开发 Python 应用程序时,记录运行日志是排查问题、监控系统状态的重要手段。而 Python 日志格式化 正是控制日志信息如何显示的关键环节。本文将从零开始,详细讲解如何使用 Python 内置的 logging 模块进行日志格式化,即使是编程小白也能轻松上手!

默认情况下,Python 的 logging 模块输出的日志信息较为简单,例如:
WARNING:root:This is a warning message这样的日志缺乏时间戳、文件名、行号等关键信息,不利于调试和追踪。通过 自定义日志格式,我们可以让日志包含更丰富的上下文信息。
Python 的 logging.basicConfig() 函数允许我们快速配置日志的基本格式。下面是一个最简单的例子:
import logging# 设置日志格式logging.basicConfig( level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')logging.info("程序启动成功!")logging.warning("这是一个警告信息")运行结果可能如下:
2024-06-15 10:30:45,123 - INFO - 程序启动成功!2024-06-15 10:30:45,124 - WARNING - 这是一个警告信息这里使用了格式化字段 %(asctime)s(时间)、%(levelname)s(日志级别)和 %(message)s(日志内容)。这些是 Python 日志输出 中最常用的占位符。
以下是 logging 模块支持的常用格式化字段:
%(asctime)s:日志记录的时间%(levelname)s:日志级别(如 INFO、WARNING)%(message)s:日志消息内容%(name)s:日志记录器的名称%(filename)s:生成日志的文件名%(lineno)d:日志所在代码行号%(funcName)s:函数名例如,我们可以创建一个更详细的日志格式:
logging.basicConfig( level=logging.DEBUG, format='%(asctime)s | %(levelname)-8s | %(filename)s:%(lineno)d | %(funcName)s() | %(message)s', datefmt='%Y-%m-%d %H:%M:%S' # 自定义时间格式)输出效果:
2024-06-15 10:35:22 | DEBUG | example.py:15 | main() | 调试信息对于更复杂的项目,推荐使用 Formatter 和 Handler 来精细控制日志行为。这种方式属于 logging模块配置 的进阶用法。
import logging# 创建 loggerlogger = logging.getLogger('my_logger')logger.setLevel(logging.DEBUG)# 创建控制台处理器console_handler = logging.StreamHandler()console_handler.setLevel(logging.DEBUG)# 创建格式器formatter = logging.Formatter( fmt='[%(asctime)s] %(name)s - %(levelname)s: %(message)s', datefmt='%H:%M:%S')# 将格式器绑定到处理器console_handler.setFormatter(formatter)# 将处理器添加到 loggerlogger.addHandler(console_handler)# 使用 loggerlogger.info("使用自定义格式器输出日志!")这种方法的优势在于可以为不同的输出目标(如文件、网络、控制台)设置不同的格式,非常适合大型项目。
掌握 Python 日志格式化 技能,不仅能提升代码可维护性,还能大幅提高调试效率。无论你是初学者还是有经验的开发者,合理配置日志格式都是必备技能。记住以下要点:
basicConfig 快速设置简单格式%(lineno)d)增强日志信息Formatter + Handler 方式希望这篇教程能帮助你轻松掌握 自定义日志格式 的方法!如果你觉得有用,不妨动手试试文中示例代码吧。
本文由主机测评网于2025-12-20发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/20251210676.html