Hands-on practice with the Python Logging module: Building a complete logging system

王林
Release: 2024-02-21 10:10:04
forward
1085 people have browsed it

Python Logging 模块的动手实践:构建一个完整的日志记录系统

Logging, LogRecord, debugging, application, Development

Establishment and use of Logger

The core of the Logging module is the Logger class. To get started, you need to create a Logger instance:

importurs
logger=ursing.er()
Copy after login

You can use the .name attribute to specify the Logger of your log:

logger=ursing.er("my_application")
Copy after login

Log Level: Define Severity

You can specify the severity of a log entry by setting the level attribute to one of the built-in levels. Levels range from DEBUG (least severe) to FATAL (most severe) as follows:

level=ursing.L.DEBUG# 调试级别
level=ursing.L.INFO# 信息级别
level=ursing.L.WARNING# 告警级别
Copy after login

Processor: Formatting and propagating logs

A processor is a component that gets logs from a Logger and sends them to a specific destination. The built-in processor provides out-of-the-box methods:

# 将日志信息发送到标准输出(终端)
handler=ursing.mhandler()
Copy after login

You can use the .fORMatter attribute to customize the format for your logs:

handler.er=ursing.er(ursing.F("%(levelname)s:%(message)s"))
Copy after login

Filter: Only capture the logs you are interested in

Filters allow you to capture only logs that meet certain criteria. Use Filter class:

filter=ursing.r()
filter.re=rs.ur("ERROR")# 仅匹配“ERROR”级别的日志
Copy after login

Put it all together

Attach processors and filters to Logger to build a complete log pipeline:

logger.addhandler(handler, filter)
Copy after login

Hands-on Example: A Complete Logger

Consider an application running in the file "example.py". As shown below, we use the Logging module to create a comprehensive logger:

importurs
logger=ursing.er("my_example_app")

# 根级别为“INFO”
logger.level=ursing.L.INFO

# 创建一个到文件“app.log”的处理器
file_handler=ursing.FH("app.log",mode="a")
file_handler.er=ursing.er(ursing.F("%(asctime)s -%(levelname)s:%(message)s"))

# 创建一个到终端的处理器
console_handler=ursing.mhandler()
console_handler.er=ursing.er(ursing.F("%(message)s"))

# 将处理器附加到日志
logger.addhandler(file_handler)
logger.addhandler(console_handler)
Copy after login

In an application, you can use the .log() method to write information to the log at a specified level:

logger.info("开始应用程序")
logger.error("应用程序遇到一个严重问题")
Copy after login

in conclusion

The Logging module provides you with comprehensive and flexible control over application logging. Combine this with the appropriate levels, processors, and filters, and you can build a robust and insightful logging foundation to help you isolate problems, track application behavior, and optimize performance.

The above is the detailed content of Hands-on practice with the Python Logging module: Building a complete logging system. 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
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!