import logging from logging.handlers import RotatingFileHandler # 配置日志处理 def setup_logger(): """优化日志系统 - 减少磁盘I/O""" logger = logging.getLogger("YOLOv8 Optimized") logger.setLevel(logging.INFO) # 清除现有处理器 for handler in logger.handlers[:]: logger.removeHandler(handler) # 优化控制台日志格式 formatter = logging.Formatter('%(asctime)s [%(levelname)s] %(message)s') # 控制台处理器 - 设置较低的延迟 console_handler = logging.StreamHandler() console_handler.setFormatter(formatter) # 文件处理器 - 限制日志大小和使用异步写入 log_file = 'yolo_detection.log' file_handler = RotatingFileHandler( log_file, maxBytes=5 * 1024 * 1024, # 减小为5MB backupCount=3, encoding='utf-8', delay=False # 禁用延迟打开文件 ) file_handler.setFormatter(formatter) logger.addHandler(console_handler) logger.addHandler(file_handler) # 禁用不需要的库的日志 logging.getLogger("werkzeug").setLevel(logging.WARNING) logging.getLogger("engineio").setLevel(logging.WARNING) logging.getLogger("socketio").setLevel(logging.WARNING) return logger logger = setup_logger()