Python Logging Module Usage Guide: Solving Common Problems

WBOY
Release: 2024-02-21 09:42:03
forward
438 people have browsed it

Python Logging 模块使用指南:解决常见问题

pythonLogging, recording, debugging,monitoring

Solution to common problems

1. How to set up basic configuration?

import logging # 设置基本配置 logging.basicConfig( level=logging.INFO, fORMat="%(asctime)s %(levelname)s: %(message)s" )
Copy after login

2. How to use different log levels?

logging.debug("这是一个调试消息") logging.info("这是一个信息消息") logging.warning("这是一个警告消息") logging.error("这是一个错误消息") logging.critical("这是一个严重错误消息")
Copy after login

3. How to create a custom logger?

# 创建一个名为 "my_custom_logger" 的记录器 my_logger = logging.getLogger("my_custom_logger") my_logger.setLevel(logging.INFO) # 创建一个文件处理程序 file_handler = logging.FileHandler("my_app.log") file_handler.setLevel(logging.INFO) # 创建一个流处理程序 stream_handler = logging.StreamHandler() stream_handler.setLevel(logging.INFO) # 为记录器添加处理程序 my_logger.addHandler(file_handler) my_logger.addHandler(stream_handler) my_logger.info("这是一个自定义记录的消息")
Copy after login

4. How to configure the log format?

logging.basicConfig( level=logging.INFO, format="[%(asctime)s] %(levelname)s %(name)s: %(message)s" )
Copy after login

5. How to use log filter?

# 创建一个过滤器,仅记录来自 "my_custom_logger" 记录器的警告消息 my_filter = logging.Filter() my_filter.filter = lambda record: record.name == "my_custom_logger" and record.levelno == logging.WARNING # 为记录器添加过滤器 my_logger.addFilter(my_filter)
Copy after login

6. How to catch unhandled exception?

import sys # 为 unhandled 异常设置一个处理程序 logging.basicConfig( level=logging.ERROR, format="[%(asctime)s] %(levelname)s %(name)s: %(message)s", handlers=[logging.StreamHandler(sys.stderr)] ) # 触发一个 unhandled 异常 raise Exception("这是一个 unhandled 异常")
Copy after login

7. How to enable thread-safe logging?

import logging import threading # 为 thread-safe 日志记录设置一个处理程序 logging.basicConfig( level=logging.INFO, format="[%(asctime)s] %(levelname)s %(name)s: %(message)s", handlers=[logging.StreamHandler()], concurrent=True ) # 创建一个线程并记录消息 def my_thread(): logging.info("这是一个来自线程的消息") # 启动线程 thread = threading.Thread(target=my_thread) thread.start() thread.join()
Copy after login

8. How to configure the logging configuration file?

Create a file named "logging.conf" and place it in the application directory:

import logging.config # 导入 logging 配置文件 logging.config.fileConfig("logging.conf")
Copy after login

The above is the detailed content of Python Logging Module Usage Guide: Solving Common Problems. 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
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!