我们如何在多线程环境中使用设计模式进行日志生成。有一个日志文件,并且需要在此日志文件中写入多个线程。因此必须有一种机制,每个线程一旦创建就可以访问相同的文件处理程序 我应该使用Singleton或Factory设计模式,因为只有安装对象的点,或者有更好的方法来执行此操作。
答案 0 :(得分:4)
Python logging模块实际上是thread-safe by default:
日志记录模块用于线程安全,没有任何特殊之处 需要由客户完成的工作。它虽然使用它实现了这一点 穿线锁;有一个锁可以序列化对模块的访问 共享数据,每个处理程序还创建一个锁以序列化访问 它的基础I / O.