Python logging模块基础用法与多模块日志配置详解

江岸
江岸
发布时间:2026-10-13| 3人浏览过
原创

本文深入解析Python标准库logging模块的核心用法。从基础日志级别(debug、info、warning等)的适用场景出发,详细演示如何通过basicConfig将日志写入文件。进一步探讨在包含多个模块的复杂项目中,如何合理组织日志记录器,确保主程序与库文件日志清晰分离且正确输出,为开发者提供实用的日志管理方案。

本文详细解析Python中logging模块的记录打印用法,通过具体示例代码展示其功能,旨在为读者的学习或工作提供有价值的参考。

日志基础教程

日志基础教程

日志是追踪软件执行事件的重要手段。开发者通过在代码中添加日志调用来标记特定事件的发生,每个事件通常包含描述性的变量数据以区分不同实例。此外,事件的重要性被划分为不同的等级,也称为严重性级别。

日志的使用场景

什么时候使用日志

对于简单的日志需求,logging模块提供了一系列便捷函数,包括debug()、info()、warning()、error()和critical()。为了确定何时使用日志,请参考下表,该表展示了针对不同通用任务集合的最佳工具选择。

日志记录实战示例

实际例子

记录到文件


import logging
logging.basicConfig(filename='example.log',level=logging.DEBUG)
logging.debug('This message should go to the log file')
logging.info('So should this')
logging.warning('And this, too')

打开生成的日志文件,您将看到如下日志信息:

DEBUG:root:This message should go to the log file

INFO:root:So should this

WARNING:root:And this, too

多模块环境下的日志配置

从多个模块记录日志:

如果您的程序由多个模块组成,以下示例展示了如何组织日志记录:


# myapp.py
import logging
import mylib

def main():
  logging.basicConfig(filename='myapp.log', level=logging.INFO)
  logging.info('Started')
  mylib.do_something()
  logging.info('Finished')

if __name__ == '__main__':
  main()

库文件结构如下所示:


# mylib.py
import logging

def do_something():
  logging.info('Doing something')

运行myapp.py后,您将在myapp.log文件中看到以下输出:

  • INFO:root:Started
  • INFO:root:Doing something
  • INFO:root:Finished

以上就是本文的全部内容,希望能为您的学习提供帮助,同时也欢迎大家继续支持本站。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。