当前位置: 首页>>代码示例>>Python>>正文


Python Report.printReport方法代码示例

本文整理汇总了Python中report.Report.printReport方法的典型用法代码示例。如果您正苦于以下问题:Python Report.printReport方法的具体用法?Python Report.printReport怎么用?Python Report.printReport使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在report.Report的用法示例。


在下文中一共展示了Report.printReport方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __init__

# 需要导入模块: from report import Report [as 别名]
# 或者: from report.Report import printReport [as 别名]
class SimpleLogAnalyzer:
    def __init__(self, lgConfFile, ptrnConfFile, outFldr, chnksz):
        self.lgConfFile = lgConfFile
        self.ptrnConfFile = ptrnConfFile
        self.outFldr = outFldr
        self.chnksz = chnksz
        self.rep = Report()
        self.fu = FileUtil()  

    def getLogFiles(self):
        files =[]
        folders =  self.fu.readAllLines(self.lgConfFile);
        for fldrName in folders:
            lindx = getLastPathIndx( fldrName )
            fldr = fldrName[0:lindx]
            ptrn = fldrName[lindx+1:]
            files+=self.fu.listDir( fldr, ptrn ) 
        return files

    def copy(self,rb,chunks,found):
        chnk = chunk()
        chnk.addTag(found)
        chunks.append(chnk)
        for rbel in rb.get():
           if(rbel!=None):
               chnk.append(rbel) 

    def processBuffer(self,buff, ptrns, offset, chnksz, chnks,rb):
        cLastIndx = len(chnks) - 1
        for line in buff:
            if(offset>0):
                chnks[cLastIndx].append(line)
                found = match(line,ptrns)
                offset-=1 
                if(found != None):
                    chnks[cLastIndx].addTag(found)
            else:
                rb.append(line)
                found = match(line,ptrns)
                if(found != None):
                    self.copy(rb,chnks,found)
                    cLastIndx+=1
                    offset=chnksz
        return offset

    def processFile(self,inFileName, ptrns, chnksz):
        bsz = chnksz * 20
        offset=0
        chnks=[]
        rb = RingBuffer(chnksz) 
        buffitr = self.fu.readNextBuffer(inFileName, bsz)
        for buff in buffitr:
            offset = self.processBuffer(buff,ptrns,offset,chnksz,chnks,rb) 
        return chnks

    def dumpChnks(self, chnks, outFldr, lgFile):
        i=getLastPathIndx(lgFile)
        outFile = outFldr + lgFile[i:] + ".xml"
        for cn in chnks:
            self.fu.writeContents(outFile, cn.serialize())

    def process(self):
        lgFiles = self.getLogFiles()
        ptrns = self.fu.readAllLines(self.ptrnConfFile)
        if(len(lgFiles)>0 and len(ptrns)>0):
            for lgFile in lgFiles:
                chnks = self.processFile(lgFile, ptrns, self.chnksz)
                if(len(chnks)>0):
                    self.rep.addMatchedFile(lgFile,chnks)
                    self.dumpChnks(chnks, self.outFldr, lgFile)
                else:
                    self.rep.addUnMatchedFile(lgFile)  


    def generateReport(self):
        self.rep.printReport()
开发者ID:anshuman18,项目名称:logsanalyzer,代码行数:78,代码来源:simpleloganalyzer.py


注:本文中的report.Report.printReport方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。