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

Python logging module guide: solving common knowledge points

王林
Release: 2024-03-08 08:10:13
forward
401 people have browsed it

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

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

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

4. Exception handling

The logging module can conveniently record exceptions:

import logging

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

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

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!

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