Home >Backend Development >Python Tutorial >Python Logging Module Usage Guide: Solving Common Problems
python Logging, 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" )
2. How to use different log levels?
logging.debug("这是一个调试消息") logging.info("这是一个信息消息") logging.warning("这是一个警告消息") logging.error("这是一个错误消息") logging.critical("这是一个严重错误消息")
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("这是一个自定义记录的消息")
4. How to configure the log format?
logging.basicConfig( level=logging.INFO, format="[%(asctime)s] %(levelname)s %(name)s: %(message)s" )
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)
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 异常")
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()
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")
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!