60 lines
1.6 KiB
Python
60 lines
1.6 KiB
Python
#!/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() |