Python模块之logging

官方文档

常见用法

logging模块是Python标准库中用于记录日志的模块。它提供了灵活且可配置的日志记录功能,可以用于在应用程序中捕获和输出各种级别的日志消息。以下是logging模块的常见用法示例:

python

import logging

# 配置日志记录器
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')

# 记录不同级别的日志消息
logging.debug('这是一个debug级别的日志消息')
logging.info('这是一个info级别的日志消息')
logging.warning('这是一个warning级别的日志消息')
logging.error('这是一个error级别的日志消息')
logging.critical('这是一个critical级别的日志消息')

上述示例中展示了logging模块的常见用法:

使用basicConfig方法配置日志记录器,设置了日志记录的级别为DEBUG,并指定了日志消息的格式。
使用debug、info、warning、error和critical等方法记录不同级别的日志消息。消息将按照预定义的格式输出到控制台。

指定文件的存储路径,并且各模块独立

import logging

# 创建顶级logger
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)

# 创建文件处理器
file_handler = logging.FileHandler('/path/to/log/file.log')

# 配置文件处理器
file_handler.setLevel(logging.DEBUG)

# 创建格式化器
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')

# 将格式化器添加到文件处理器
file_handler.setFormatter(formatter)

# 将文件处理器添加到logger
logger.addHandler(file_handler)

# 在模块中创建独立的logger
module_logger = logging.getLogger(__name__)

上述示例展示了如何指定文件的存储路径,并为每个模块创建独立的logger:

首先,创建顶级logger,并设置日志级别为DEBUG。
创建文件处理器(FileHandler),并设置其日志级别为DEBUG。
创建格式化器(Formatter),并定义日志消息的格式。
将格式化器添加到文件处理器中。
将文件处理器添加到顶级logger中。
在每个模块中,使用logging.getLogger(name)创建独立的logger。

独立配置的好处

使用独立的logger可以帮助您更好地组织和管理模块的日志记录。每个logger可以单独设置其级别、处理器和格式化器,以满足不同模块的需求。通过将文件处理器添加到顶级logger,您可以将所有模块的日志消息记录到同一个文件中。

需要注意的是,在每个模块中创建独立的logger时,使用了__name__作为logger的名称,这样可以确保每个模块都有一个唯一的logger名称,便于在日志中区分不同的模块来源。

请根据您的实际需求和应用程序的结构来进行适当的配置和调整。这只是一个基本示例,您可以根据具体情况进行进一步的自定义和扩展。

相关推荐

  1. Python模块logging

    2024-04-21 21:24:02       98 阅读
  2. python logging模块的使用总结

    2024-04-21 21:24:02       51 阅读
  3. Python学习笔记】Python logging模块的学习

    2024-04-21 21:24:02       39 阅读
  4. PythonPython中的logging模块介绍和示例

    2024-04-21 21:24:02       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-21 21:24:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-21 21:24:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-21 21:24:02       87 阅读
  4. Python语言-面向对象

    2024-04-21 21:24:02       96 阅读

热门阅读

  1. React中 useReducer的使用

    2024-04-21 21:24:02       39 阅读
  2. ubuntu在docker容器中安装strongswan

    2024-04-21 21:24:02       35 阅读
  3. 一些linux命令

    2024-04-21 21:24:02       33 阅读
  4. 物联网与服务器有什么样的联系?

    2024-04-21 21:24:02       39 阅读
  5. C++笔记打卡第17天(STL、容器)

    2024-04-21 21:24:02       38 阅读
  6. 苹果、安卓中的ipsec功能

    2024-04-21 21:24:02       36 阅读
  7. 部署轻量级Gitea替代GitLab进行版本控制(二)

    2024-04-21 21:24:02       39 阅读
  8. EF6(Entity Framework 6)基础知识

    2024-04-21 21:24:02       41 阅读
  9. Spring MVC 国际化

    2024-04-21 21:24:02       36 阅读