logging 模块

📅 2026/7/31 2:48:06
logging 模块
logging模块支持分级日志、同时输出控制台 文件、自定义日志格式。Logger日志器程序入口产生日志消息Handler处理器决定日志输出位置控制台 / 文件StreamHandler输出控制台FileHandler输出到本地文件Formatter格式器自定义日志文本格式时间、级别、信息Filter过滤器过滤指定日志拓展了解三、日志等级由低到高DEBUGINFOWARNINGERRORCRITICAL设置等级后只输出大于等于当前级别的日志。四、完整实战代码新建logging_demo.py代码如下import logging # 1. 创建日志器对象 logger logging.getLogger(demo_logger) # 设置日志器总级别 logger.setLevel(logging.DEBUG) # 防止重复添加处理器 if not logger.handlers: # 2. 定义日志格式 Formatter log_format logging.Formatter( fmt%(asctime)s | %(levelname)-8s | %(filename)s:%(lineno)d | %(message)s, datefmt%Y-%m-%d %H:%M:%S ) # 3. 创建处理器 Handler # 处理器1控制台输出 stream_handler logging.StreamHandler() stream_handler.setLevel(logging.INFO) # 控制台只输出INFO及以上 stream_handler.setFormatter(log_format) # 处理器2输出到本地日志文件 file_handler logging.FileHandler(app.log, encodingutf-8) file_handler.setLevel(logging.DEBUG) # 文件保存全部等级日志 file_handler.setFormatter(log_format) # 4. 处理器绑定到日志器 logger.addHandler(stream_handler) logger.addHandler(file_handler) # 测试打印日志 logger.debug(调试信息变量初始化完成) logger.info(普通信息程序正常启动) logger.warning(警告信息磁盘空间不足) logger.error(错误信息文件读取失败) logger.critical(严重错误程序即将退出)五、代码知识点解析StreamHandler控制台只展示 INFO 级别以上日志方便开发查看FileHandler文件保存全部 DEBUG 级别日志方便后期排查 bug