我在我的项目中遇到了一些伐木巫毒。你知道吗
阅读以下内容后: QueueHandlerQueueListener
我将登录程序设计如下:在主进程中- 分配了QueueHandler的根记录器。该队列由QueueListener侦听,其目标是纯StreamHandler。 我的程序在某个执行点向进程池发送一个分析任务。 每个池进程都分配了在主进程的QueueHandler中创建的队列,因此它也可以将日志记录发送到控制台。你知道吗
请注意,我的程序是Python2程序,我从Python3手动向后移植了QueueHandler和QueueListener的代码。你知道吗
我的程序执行中出现了一个不一致的问题(但主要是在测试中): 程序被卡住,没有消息被打印到控制台。 如果StreamHandler与FileHandler交换-测试一致通过。你知道吗
以下是我用于测试的env:
解释器:PyPy 5.6.0和GCC 4.8.4
pytest版本:“3.2.3”
日志版本:“0.5.1.2”
uname-a:Linux ip-172-31-36-72 3.13.0-74-generic#118 Ubuntu SMP周四12月17日22:52:10 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
我认为共享github回购并不常见,但我将我的程序提取到一个非常小的项目中,这个问题(有时)会重现。请随意查看: log_voodoo
为什么会这样?有什么解决办法吗?你知道吗
如果不深入研究代码,您可能希望尝试使用pypy6.0,在这两个版本之间存在一些已修复的问题。你知道吗
您可以使用logutils项目,它将QueueHandler和QueueListener向后移植到python2.x
您应该设置:
理想情况下,工作者应该自己创建和添加QueueHandler,而不是依赖于从主进程继承它(如果他们是从主进程派生的)。日志记录食谱有一个example setup(工作代码,AFAIK)。你知道吗
相关问题 更多 >
编程相关推荐