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

Python logging module demystified: Mastering the art of logging

WBOY
Release: 2024-03-07 21:55:13
forward
355 people have browsed it

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)
Copy after login

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)
Copy after login
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("应用程序已启动")
Copy after login
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)
Copy after login

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!

Related labels:
source:lsjlt.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template