#!/usr/bin/env python # -*- coding: utf-8 -*- """ 单例模式测试脚本 验证LoggerTool是否正确实现了单例模式 """ import sys import os # 添加项目根目录到 Python 路径 current_dir = os.path.dirname(os.path.abspath(__file__)) sys.path.append(current_dir) from kodi_util.LoggerToolModule import LoggerTool def test_singleton(): """测试单例模式""" print("开始测试单例模式...") # 创建第一个实例 logger1 = LoggerTool(name='logger1', log_file='test1.log', log_dir='logs') print(f"第一个实例ID: {id(logger1)}") # 创建第二个实例(应该是同一个对象) logger2 = LoggerTool(name='logger2', log_file='test2.log', log_dir='logs') print(f"第二个实例ID: {id(logger2)}") # 创建第三个实例(应该是同一个对象) logger3 = LoggerTool(name='logger3', log_file='test3.log', log_dir='logs') print(f"第三个实例ID: {id(logger3)}") # 验证是否是同一个对象 print(f"logger1 is logger2: {logger1 is logger2}") print(f"logger2 is logger3: {logger2 is logger3}") print(f"logger1 is logger3: {logger1 is logger3}") # 测试日志记录 logger1.info("来自logger1的消息") logger2.info("来自logger2的消息") logger3.info("来自logger3的消息") print("单例模式测试完成!") print("注意:由于是单例模式,只有第一次创建时的参数(name='logger1', log_file='test1.log')会生效") print("所有日志都会写入到 logs/test1.log 文件中") if __name__ == "__main__": test_singleton()