Home  >  Article  >  Backend Development  >  Python logging module guide: solving common knowledge points

Python logging module guide: solving common knowledge points

王林
王林forward
2024-03-08 08:10:13380browse

Python logging 模块指南:解决常见知识点问题

python logging module LogRecord Exception handling Debugging

1. Logging level

The logging level specifies which events should be logged. From lowest level to highest, these levels include:

  • DEBUG
  • INFO
  • WARNING
  • ERROR
  • CRITICAL

Use the logging.basicConfig() function to set the logging level, for example:

import logging

logging.basicConfig(level=logging.INFO)

2. Logging processor

The processor defines how logging messages should be processed. Some commonly used processors include:

  • StreamHandler: Print logging messages to the console or file
  • FileHandler: Write logging messages to file
  • SMTPHandler: Email logging messages
import logging

# 将日志记录消息打印到控制台
stdout_handler = logging.StreamHandler()
stdout_handler.setLevel(logging.WARNING)

# 将日志记录消息写入文件
file_handler = logging.FileHandler("log.txt")
file_handler.setLevel(logging.DEBUG)

# 将日志记录消息通过电子邮件发送
smtp_handler = logging.SMTPHandler("localhost", "info@example.com", "sender@example.com", "Subject: Log Alert")
smtp_handler.setLevel(logging.ERROR)

# 添加处理器到根记录器
logging.getLogger().addHandler(stdout_handler)
logging.getLogger().addHandler(file_handler)
logging.getLogger().addHandler(smtp_handler)

3. Log formatter

The formatter defines the format of the logging message. Custom formatters can be created using the logging.F<strong class="keylink">ORM</strong>atter class, for example:

import logging

# 创建一个自定义格式器
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")

# 设置格式器到处理器
for handler in logging.getLogger().handlers:
handler.setFormatter(formatter)

4. Exception handling

The logging module can conveniently record exceptions:

import logging

try:
# 执行可能引发异常的代码
except Exception:
# 记录异常
logging.exception("An error occurred")

5. Debugging

The logging module can also help with debugging:

  • Use the logging.debug() function to record debugging information, for example:
import logging

# 记录调试信息
logging.debug("Current value of x: %d", x)
  • Use logging.getLogger(name).setLevel(level) Modify the level of a specific logger, for example:
import logging

# 将 "my_module" 记录器的日志记录级别设置为 DEBUG
logging.getLogger("my_module").setLevel(logging.DEBUG)

6. Best Practices

Some best practices for using the logging module include:

  • Always set logging level
  • Use meaningful logging messages
  • Use formatters to define custom logging formats
  • Tracking exception
  • Using debugging information for troubleshooting

in conclusion

Python The logging module is a powerful tool that can help developers log events, debug problems and track exceptions. By understanding its concepts and leveraging its capabilities, developers can significantly enhance the logging capabilities of their project.

The above is the detailed content of Python logging module guide: solving common knowledge points. 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