| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #!/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()
|