ATLAS Offline Software
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 709 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 710 of file trfValidation.py.

710  def __init__(self, logfile=None, msgLimit=200, msgDetailLevel=stdLogLevels['ERROR']):
711  self._levelCounter = {}
712  self._errorDetails = {}
713  self.resetReport()
714  super(scriptLogFileReport, self).__init__(logfile, msgLimit, msgDetailLevel)
715 

Member Function Documentation

◆ __str__()

def python.trfValidation.scriptLogFileReport.__str__ (   self)

Reimplemented from python.trfValidation.logFileReport.

Definition at line 764 of file trfValidation.py.

764  def __str__(self):
765  return str(self._levelCounter) + str(self._errorDetails)
766 

◆ 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 716 of file trfValidation.py.

716  def resetReport(self):
717  self._levelCounter.clear()
718  for level in list(stdLogLevels) + ['UNKNOWN', 'IGNORED']:
719  self._levelCounter[level] = 0
720 
721  self._errorDetails.clear()
722  for level in self._levelCounter: # List of dicts {'message': errMsg, 'firstLine': lineNo, 'count': N}
723  self._errorDetails[level] = []
724 

◆ rootSysErrorParser()

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

Definition at line 767 of file trfValidation.py.

767  def rootSysErrorParser(self, line, lineCounter):
768  msg.debug('Identified ROOT IO problem - adding to error detail report')
769  self._levelCounter['FATAL'] += 1
770  self._errorDetails['FATAL'].append({'message': line, 'firstLine': lineCounter, 'count': 1})
771 

◆ 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 725 of file trfValidation.py.

725  def scanLogFile(self, resetReport=False):
726  if resetReport:
727  self.resetReport()
728 
729  for log in self._logfile:
730  msg.info('Scanning logfile {0}'.format(log))
731  try:
732  myGen = trfUtils.lineByLine(log)
733  except IOError as e:
734  msg.error('Failed to open transform logfile {0}: {1:s}'.format(log, e))
735  # Return this as a small report
736  self._levelCounter['ERROR'] = 1
737  self._errorDetails['ERROR'] = {'message': str(e), 'firstLine': 0, 'count': 1}
738  return
739 
740  for line, lineCounter in myGen:
741  # TODO: This implementation currently only scans for Root SysErrors.
742  # General solution would be a have common error parser for all system level
743  # errors those all also handled by AthenaLogFileReport.
744  if line.__contains__('Error in <TFile::ReadBuffer>') or \
745  line.__contains__('Error in <TFile::WriteBuffer>'):
746  self.rootSysErrorParser(line, lineCounter)
747 

◆ worstError()

def python.trfValidation.scriptLogFileReport.worstError (   self)

Reimplemented from python.trfValidation.logFileReport.

Definition at line 749 of file trfValidation.py.

749  def worstError(self):
750  worstlevelName = 'DEBUG'
751  worstLevel = stdLogLevels[worstlevelName]
752  for levelName, count in self._levelCounter.items():
753  if count > 0 and stdLogLevels.get(levelName, 0) > worstLevel:
754  worstlevelName = levelName
755  worstLevel = stdLogLevels[levelName]
756 
757  if len(self._errorDetails[worstlevelName]) > 0:
758  firstError = self._errorDetails[worstlevelName][0]
759  else:
760  firstError = None
761 
762  return {'level': worstlevelName, 'nLevel': worstLevel, 'firstError': firstError}
763 

Member Data Documentation

◆ _errorDetails

python.trfValidation.scriptLogFileReport._errorDetails
private

Definition at line 712 of file trfValidation.py.

◆ _levelCounter

python.trfValidation.scriptLogFileReport._levelCounter
private

Definition at line 711 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