使用Buildbot中的自定义步骤读入日志文件?

时间:2015-10-15 10:17:40

标签: python buildbot

我在调用奴隶上的脚本后尝试读取日志文件时遇到了问题。

作为测试,我正在调用奴隶一个批处理文件“test.bat”,它回应“OK”。 然后,我想通过重写LogLineObserver类来使用Logobservers来读取stdio,但是从不调用应该获取输出的方法outLineReceived。

以下是我使用的两个类:

class MyObserver(LogLineObserver):
    numTest=0
    def outLineReceived(self,line):
        if "OK" in line: 
           self.numTest+=1

class CustomStep(ShellCommand):
    def __init__(self,**kwargs):
        ShellCommand.__init__(self,workdir=WorkdironSlave,command=["call","test.bat"],**kwargs)
        self.TestObserver=MyObserver()
        self.addLogObserver('stdio',self.TestObserver)

我还尝试在我的Shell命令中使用日志文件,logfiles={"testlog":"test.log"}(其中test.log是批处理文件在Slave目录中创建的包含“OK”的文件)。 然后我用self.addLogObserver('testlog',self.TestObserver)调用我的Logobserver。

我还尝试将此构造函数添加到我的日志观察器中。     def init (个体经营):         LogLineObserver .__的init(个体经营) 这是由自定义ShellCommand调用的,但仍然不会调用outLineReceived方法。

我使用的工厂也是这样定义的:

myFactory=BuildFactory()
myFactory.addStep(CustomStep())

这样做的最终目的是根据stdio文件中的内容调用新步骤。

我正在使用buildbot v0.8.7p1

为什么永远不会调用这个“outLineReceived”方法,或者我应该做些什么更改才能读入stdio或“test.log”文件?

由于

0 个答案:

没有答案