Home  >  Article  >  Backend Development  >  Python logging module demystified: Mastering the art of logging

Python logging module demystified: Mastering the art of logging

WBOY
WBOYforward
2024-03-07 21:55:13324browse

Python logging 模块揭秘:掌控日志记录的艺术

python Introduction to logging module

The

logging module is a powerful loggingrecordingtool in the Python standard library. It provides a standardized, configurable way to log application events, errors, and debugging information. By using the logging module, developers can easily track application behavior, simplify troubleshooting, and improve code quality. Logging level

The logging module defines several logging levels to indicate the importance of the message:

DEBUG: Debug information, used to record detailed application behavior.
  • INFO: General information, used to record normal operation of the application.
  • WARNING: Warning message used to record potential problems.
  • ERROR: Error message used to log application errors.
  • CRITICAL: Critical error message used to record critical errors that interrupt the application.
  • Configuring logging

The logging module allows configuring logging behavior in a variety of ways:

Root logger:

import logging

# 创建根记录器
root_logger = logging.getLogger()

# 设置日志记录级别
root_logger.setLevel(logging.INFO)

# 添加控制台处理程序
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.DEBUG)
console_handler.setFORMatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s"))
root_logger.addHandler(console_handler)

# 添加文件处理程序
file_handler = logging.FileHandler("my_app.log")
file_handler.setLevel(logging.WARNING)
file_handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s"))
root_logger.addHandler(file_handler)

Custom logger:

# 创建自定义记录器
my_logger = logging.getLogger("my_app.module1")

# 设置日志记录级别
my_logger.setLevel(logging.DEBUG)

# 添加流处理程序
stream_handler = logging.StreamHandler()
stream_handler.setLevel(logging.INFO)
stream_handler.setFormatter(logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s"))
my_logger.addHandler(stream_handler)
Logging messages

After logging settings are configured, developers can log messages using the following methods:

    debug()
  • info()
  • warning()
  • error()
  • critical()
  • Each method receives a
string

message and logs the message at the specified logging level.

my_logger.info("应用程序已启动")
Logging Filter

The logging module provides a mechanism to filter log messages and only log messages that meet certain conditions. Filters can be based on logging level, message text, or other custom criteria.

# 创建一个过滤日志记录级别的过滤器
level_filter = logging.Filter()
level_filter.filter = lambda record: record.levelno >= logging.WARNING

# 将过滤器添加到记录器
my_logger.addFilter(level_filter)

in conclusion

The Python logging module is a powerful tool for recording application events and debugging information. By understanding its functionality and configuration options, developers can design robust and maintainable applications. By providing comprehensive

visualization

of application behavior, the logging module helps improve code quality, simplify troubleshooting, and enhance the debugging process.

The above is the detailed content of Python logging module demystified: Mastering the art of logging. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:lsjlt.com. If there is any infringement, please contact admin@php.cn delete

Related articles

See more