如何在使用python线程时避免多次记录

时间:2012-01-02 19:46:14

标签: python multithreading logging

在单个thread.run()中,我在相应的网页中找到了几个字符串 如果找到,我将文本记录到日志文件。

在相应的4个网页中说4个字符串。

当我运行单个线程时,日志文件显示相应网页中每个字符串的4个日志

总而言之,我在一个线程中获得了16个日志,而我预计只有4个日志用于4个字符串搜索。 我不确定它出了什么问题..

https://github.com/sumankumar/websitemonitor

指向此设计的任何指针,或者我在做错误的地方 (我将全局记录器用于我的所有文件,并在必要时导入记录器)

myLogFile = logging.FileHandler("./example.log")

我猜错误是我自

创建的logger对象
myLogFile = logging.FileHandler("./example.log",'w')

行为略有不同

(最后..请在我的代码上指出任何其他建议:-))

1 个答案:

答案 0 :(得分:0)

您可以使用Queue,并让所有线程将数据写入队列实例。然后从另一个线程中读取该队列并在那里登录。队列负责锁定/同步。 (多生产者/单一消费者模式)