#!/usr/bin/env python3 # main.py - 主程序入口,初始化日志配置 import logging from bbb import process_data def setup_logging(): """统一配置日志系统""" root_logger = logging.getLogger() root_logger.setLevel(logging.DEBUG) # 移除所有现有处理器(避免重复) for handler in root_logger.handlers[:]: root_logger.removeHandler(handler) # 控制台处理器 console_handler = logging.StreamHandler() console_handler.setLevel(logging.INFO) # 控制台只显示INFO及以上级别 # 文件处理器 file_handler = logging.FileHandler('app.log', encoding='utf-8') file_handler.setLevel(logging.DEBUG) # 文件记录所有DEBUG及以上级别 # 格式化 formatter = logging.Formatter( '%(asctime)s - %(name)s - %(levelname)s - %(message)s' ) console_handler.setFormatter(formatter) file_handler.setFormatter(formatter) root_logger.addHandler(console_handler) root_logger.addHandler(file_handler) def main(): """主函数""" # 初始化日志配置 setup_logging() # 获取当前模块的logger logger = logging.getLogger(__name__) logger.info("程序启动") try: # 调用工具模块的函数 result = process_data([1, 2, 3]) logger.debug(f"处理结果: {result}") # 模拟一个警告情况 if len(result) > 2: logger.warning("结果数据量较大") logger.info("程序正常结束") except Exception as e: logger.error(f"程序出错: {str(e)}", exc_info=True) if __name__ == "__main__": main()