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()
You can use the .name attribute to specify the Logger of your log:
logger=ursing.er("my_application")
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# 告警级别
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()
You can use the .fORMatter attribute to customize the format for your logs:
handler.er=ursing.er(ursing.F("%(levelname)s:%(message)s"))
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”级别的日志
Put it all together
Attach processors and filters to Logger to build a complete log pipeline:
logger.addhandler(handler, filter)
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)
In an application, you can use the .log() method to write information to the log at a specified level:
logger.info("开始应用程序") logger.error("应用程序遇到一个严重问题")
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!