import logging import os from datetime import datetime def setup_logging(log_level=logging.INFO, log_dir="logs"): """ 设置logging配置,创建不同模块的logger Args: log_level: 日志级别,默认INFO log_dir: 日志文件存储目录,默认"logs" """ # 创建日志目录 if not os.path.exists(log_dir): os.makedirs(log_dir) # 获取当前时间作为日志文件名 timestamp = datetime.now().strftime('%Y%m%d_%H%M%S') log_file = os.path.join(log_dir, f"titration_{timestamp}.log") # 配置根logger logging.basicConfig( level=log_level, format='%(asctime)s - %(name)8s - %(levelname)7s - %(message)s', handlers=[ logging.FileHandler(log_file, encoding='utf-8'), logging.StreamHandler() # 同时输出到控制台 ] ) return log_file def get_system_logger(): """系统初始化和控制相关的logger""" return logging.getLogger("System") def get_hardware_logger(): """硬件控制相关的logger(CH340等)""" return logging.getLogger("Hardware") def get_vision_logger(): """图像处理和预测相关的logger""" return logging.getLogger("Vision") def get_control_logger(): """控制逻辑相关的logger""" return logging.getLogger("Control") def get_endpoint_logger(): """终点检测相关的logger""" return logging.getLogger("Endpoint") def get_volume_logger(): """体积计算相关的logger""" return logging.getLogger("Volume")