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

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

本文深入解析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 相关产品和应用

全部下载

专题列表