6 """AnalysisBase Python-side logging."""
12 from AthenaCommon.Logging
import logging
as logging
16 from AnaAlgorithm
import Constants
18 __all__ = [
'log',
'logging',
'LogError' ]
27 logging.VERBOSE = logging.DEBUG - 1
28 logging.ALL = logging.DEBUG - 2
29 logging.addLevelName( logging.VERBOSE,
'VERBOSE' )
30 logging.addLevelName( logging.ALL,
'ALL' )
35 __levelmap = { Constants.ALL : logging.ALL,
36 Constants.VERBOSE : logging.VERBOSE,
37 Constants.DEBUG : logging.DEBUG,
38 Constants.INFO : logging.INFO,
39 Constants.WARNING : logging.WARNING,
40 Constants.ERROR : logging.ERROR,
41 Constants.FATAL : logging.FATAL }
49 super( AnaLogger, self ).
setLevel( level )
52 for h
in log.handlers :
54 fmt = h.formatter.format
56 datefmt = h.formatter.datefmt
58 h.setFormatter( logging.Formatter( fmt = fmt, datefmt = datefmt ) )
74 def all( self, msg, *args, **kwargs):
75 if self.manager.disable >= logging.ALL:
77 if logging.ALL >= self.getEffectiveLevel():
78 self._log(logging.ALL, msg, args, **kwargs)
81 if self.manager.disable >= logging.VERBOSE:
83 if logging.VERBOSE >= self.getEffectiveLevel():
84 self._log(logging.VERBOSE, msg, args, **kwargs)
89 logging.setLoggerClass( AnaLogger )
91 logging.Logger.root = logging.root
92 logging.Logger.manager = logging.Manager( logging.Logger.root )
96 log = logging.getLogger()
100 hdlr = logging.StreamHandler( sys.stdout )
101 frmt = logging.Formatter(
"Py:%(name)-14s%(levelname)8s %(message)s" )
102 hdlr.setFormatter( frmt )
103 for h
in log.handlers:
104 if h.formatter._fmt == logging.BASIC_FORMAT:
105 log.removeHandler( h )
107 log.addHandler( hdlr )
112 raise RuntimeError( descr )