Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Member Functions | Private Attributes | List of all members
python.trfValidation.scriptLogFileReport Class Reference
Inheritance diagram for python.trfValidation.scriptLogFileReport:
Collaboration diagram for python.trfValidation.scriptLogFileReport:

Public Member Functions

def __init__ (self, logfile=None, msgLimit=200, msgDetailLevel=stdLogLevels['ERROR'])
 
def resetReport (self)
 
def scanLogFile (self, resetReport=False)
 
def worstError (self)
 
def __str__ (self)
 
def rootSysErrorParser (self, line, lineCounter)
 
def scanLogFile (self)
 
def firstError (self)
 

Private Attributes

 _levelCounter
 
 _errorDetails
 
 _logfile
 
 _msgLimit
 
 _msgDetails
 
 _re
 

Detailed Description

Definition at line 678 of file trfValidation.py.

Constructor & Destructor Documentation

◆ __init__()

def python.trfValidation.scriptLogFileReport.__init__ (   self,
  logfile = None,
  msgLimit = 200,
  msgDetailLevel = stdLogLevels['ERROR'] 
)

Reimplemented from python.trfValidation.logFileReport.

Definition at line 679 of file trfValidation.py.

679  def __init__(self, logfile=None, msgLimit=200, msgDetailLevel=stdLogLevels['ERROR']):
680  self._levelCounter = {}
681  self._errorDetails = {}
682  self.resetReport()
683  super(scriptLogFileReport, self).__init__(logfile, msgLimit, msgDetailLevel)
684 

Member Function Documentation

◆ __str__()

def python.trfValidation.scriptLogFileReport.__str__ (   self)

Reimplemented from python.trfValidation.logFileReport.

Definition at line 733 of file trfValidation.py.

733  def __str__(self):
734  return str(self._levelCounter) + str(self._errorDetails)
735 

◆ firstError()

def python.trfValidation.logFileReport.firstError (   self)
inherited

Definition at line 201 of file trfValidation.py.

201  def firstError(self):
202  pass
203 

◆ resetReport()

def python.trfValidation.scriptLogFileReport.resetReport (   self)

Reimplemented from python.trfValidation.logFileReport.

Definition at line 685 of file trfValidation.py.

685  def resetReport(self):
686  self._levelCounter.clear()
687  for level in list(stdLogLevels) + ['UNKNOWN', 'IGNORED']:
688  self._levelCounter[level] = 0
689 
690  self._errorDetails.clear()
691  for level in self._levelCounter: # List of dicts {'message': errMsg, 'firstLine': lineNo, 'count': N}
692  self._errorDetails[level] = []
693 

◆ rootSysErrorParser()

def python.trfValidation.scriptLogFileReport.rootSysErrorParser (   self,
  line,
  lineCounter 
)

Definition at line 736 of file trfValidation.py.

736  def rootSysErrorParser(self, line, lineCounter):
737  msg.debug('Identified ROOT IO problem - adding to error detail report')
738  self._levelCounter['FATAL'] += 1
739  self._errorDetails['FATAL'].append({'message': line, 'firstLine': lineCounter, 'count': 1})
740 

◆ scanLogFile() [1/2]

def python.trfValidation.logFileReport.scanLogFile (   self)
inherited

Definition at line 195 of file trfValidation.py.

195  def scanLogFile(self):
196  pass
197 

◆ scanLogFile() [2/2]

def python.trfValidation.scriptLogFileReport.scanLogFile (   self,
  resetReport = False 
)

Definition at line 694 of file trfValidation.py.

694  def scanLogFile(self, resetReport=False):
695  if resetReport:
696  self.resetReport()
697 
698  for log in self._logfile:
699  msg.info('Scanning logfile {0}'.format(log))
700  try:
701  myGen = trfUtils.lineByLine(log)
702  except IOError as e:
703  msg.error('Failed to open transform logfile {0}: {1:s}'.format(log, e))
704  # Return this as a small report
705  self._levelCounter['ERROR'] = 1
706  self._errorDetails['ERROR'] = {'message': str(e), 'firstLine': 0, 'count': 1}
707  return
708 
709  for line, lineCounter in myGen:
710  # TODO: This implementation currently only scans for Root SysErrors.
711  # General solution would be a have common error parser for all system level
712  # errors those all also handled by AthenaLogFileReport.
713  if line.__contains__('Error in <TFile::ReadBuffer>') or \
714  line.__contains__('Error in <TFile::WriteBuffer>'):
715  self.rootSysErrorParser(line, lineCounter)
716 

◆ worstError()

def python.trfValidation.scriptLogFileReport.worstError (   self)

Reimplemented from python.trfValidation.logFileReport.

Definition at line 718 of file trfValidation.py.

718  def worstError(self):
719  worstlevelName = 'DEBUG'
720  worstLevel = stdLogLevels[worstlevelName]
721  for levelName, count in self._levelCounter.items():
722  if count > 0 and stdLogLevels.get(levelName, 0) > worstLevel:
723  worstlevelName = levelName
724  worstLevel = stdLogLevels[levelName]
725 
726  if len(self._errorDetails[worstlevelName]) > 0:
727  firstError = self._errorDetails[worstlevelName][0]
728  else:
729  firstError = None
730 
731  return {'level': worstlevelName, 'nLevel': worstLevel, 'firstError': firstError}
732 

Member Data Documentation

◆ _errorDetails

python.trfValidation.scriptLogFileReport._errorDetails
private

Definition at line 681 of file trfValidation.py.

◆ _levelCounter

python.trfValidation.scriptLogFileReport._levelCounter
private

Definition at line 680 of file trfValidation.py.

◆ _logfile

python.trfValidation.logFileReport._logfile
privateinherited

Definition at line 181 of file trfValidation.py.

◆ _msgDetails

python.trfValidation.logFileReport._msgDetails
privateinherited

Definition at line 186 of file trfValidation.py.

◆ _msgLimit

python.trfValidation.logFileReport._msgLimit
privateinherited

Definition at line 185 of file trfValidation.py.

◆ _re

python.trfValidation.logFileReport._re
privateinherited

Definition at line 187 of file trfValidation.py.


The documentation for this class was generated from the following file:
vtune_athena.format
format
Definition: vtune_athena.py:14
dumpHVPathFromNtuple.append
bool append
Definition: dumpHVPathFromNtuple.py:91
histSizes.list
def list(name, path='/')
Definition: histSizes.py:38
TrigJetMonitorAlgorithm.items
items
Definition: TrigJetMonitorAlgorithm.py:71
python.processes.powheg.ZZ.ZZ.__init__
def __init__(self, base_directory, **kwargs)
Constructor: all process options are set here.
Definition: ZZ.py:18
VKalVrtAthena::varHolder_detail::clear
void clear(T &var)
Definition: NtupleVars.h:48
str
Definition: BTagTrackIpAccessor.cxx:11