LoggingRoot
Logging Root
- class DIRAC.FrameworkSystem.private.standardLogging.LoggingRoot.LoggingRoot(*args, **kwargs)
Bases:
DIRAC.FrameworkSystem.private.standardLogging.Logging.Logging
LoggingRoot is a particular Logging object: the first parent of the chain.
It is the one that initializes the root logger of the standard logging library and it configures it
As it defines the default behaviour of the Logging objects, it needs a specific class
It is unique, there is one and only one parent at the top of the chain: this justifies the usage of a Singleton
- class LocalSubLogger(logger, extra)
Bases:
object
This is inspired from the standard LoggingAdapter. The idea is to provide an interface which looks like a Logger, but does not implement all the features. You can basically just create it, and log messages. You cannot create subLogger from it
This is to be used for very short lived sub logger. It allows to give context information (like a jobID) without creating a new logging object, which ends up eating all the memory (see https://github.com/DIRACGrid/DIRAC/issues/5280)
- __init__(logger, extra)
- Parameters
logger –
Logging
object on which to be basedextra – dictionary of extra information to be passed
- always(sMsg, sVarMsg='')
Always level
- debug(sMsg, sVarMsg='')
Debug level
- error(sMsg, sVarMsg='')
Error level
- exception(sMsg='', sVarMsg='', lException=False, lExcInfo=False)
Exception level
- fatal(sMsg, sVarMsg='')
Fatal level
- info(sMsg, sVarMsg='')
Info level
- notice(sMsg, sVarMsg='')
Notice level
- verbose(sMsg, sVarMsg='')
Verbose level
- warn(sMsg, sVarMsg='')
Warn
- __init__()
Initialization of the LoggingRoot object. LoggingRoot :
initialize the UTC time
set the correct level defines by the user, or the default
add the custom level to logging: verbose, notice, always
register a default backend (stdout): all messages will be displayed here
update the format according to the command line argument
- always(sMsg, sVarMsg='')
Always level
- debug(sMsg, sVarMsg='')
Debug level
- disableLogsFromExternalLibs()
Disable the display of the logs coming from external libraries
- enableLogsFromExternalLibs()
Enable the display of the logs coming from external libraries
- error(sMsg, sVarMsg='')
Error level
- exception(sMsg='', sVarMsg='', lException=False, lExcInfo=False)
Exception level
- fatal(sMsg, sVarMsg='')
Fatal level
- static getAllPossibleLevels()
- Returns
a list of all levels available
- getDisplayOptions()
- Returns
the dictionary of the display options and their values. Must not be redefined
- getLevel()
- Returns
the name of the level
- getLocalSubLogger(subName)
Create a subLogger which is meant to have very short lifetime, (e.g. when you want to add the jobID in the name)
Warning
This is a light version of a logger, read the documentation of
LocalSubLogger
carefully- Parameters
subName (str) – name of the child Logging
- classmethod getName()
- Returns
“system name/component name”
- getSubLogger(subName)
Create a new Logging object, child of this Logging, if it does not exists.
Warning
For very short lived sub logger, consider
getLocalSubLogger()
instead- Parameters
subName (str) – name of the child Logging
- getSubName()
- Returns
the name of the logger
- info(sMsg, sVarMsg='')
Info level
- initialize(systemName, cfgPath, forceInit=False)
Configure the root Logging. It can be possible to : - attach it some backends : LogBackends = stdout,stderr,file,server - attach backend options : BackendOptions { FileName = /tmp/file.log } - add colors and the path of the call : LogColor = True, LogShowLine = True - precise a level : LogLevel = DEBUG
- instance = <DIRAC.FrameworkSystem.private.standardLogging.LoggingRoot.LoggingRoot object>
- notice(sMsg, sVarMsg='')
Notice level
- registerBackend(desiredBackend, backendOptions=None)
Attach a backend to the Logging object. Convert backend name to backend class name to a Backend object and add it to the Logging object
- Parameters
desiredBackend – a name attaching to a backend type. List of possible values: [‘stdout’, ‘stderr’, ‘file’]
backendOptions – dictionary of different backend options. Example: FileName=’/tmp/log.txt’
- registerBackends(desiredBackends, backendOptions=None)
Attach a list of backends to the Logging object. Convert backend names to backend class names to Backend objects and add them to the Logging object
- Parameters
desiredBackends – list of different names attaching to differents backends. list of the possible values: [‘stdout’, ‘stderr’, ‘file’]
backendOptions – dictionary of different backend options. Example: FileName=’/tmp/log.txt’
- setLevel(levelName)
Check if the level name exists and set it.
- Parameters
levelName – string representing the level to give to the logger
- Returns
boolean representing if the setting is done or not
- showContexts(yesno=True)
Depending on the value, display or not the context of the message. Make sure to enable the headers: showHeaders(True) before
- Parameters
yesno (bool) – determine the log record format
- showHeaders(yesno=True)
Depending on the value, display or not the prefix of the message.
- Parameters
yesno (bool) – determine the log record format
- showStack()
Display a debug message without any content.
- Returns
boolean, True if the message is sent, else False
- showThreadIDs(yesno=True)
Depending on the value, display or not the thread ID. Make sure to enable the headers: showHeaders(True) before
- Parameters
yesno (bool) – determe the log record format
- showTimeStamps(yesno=True)
Depending on the value, display or not the timestamp of the message. Make sure to enable the headers: showHeaders(True) before
- Parameters
yesno (bool) – determine the log record format
- shown(levelName)
Determine whether messages with a certain level will be displayed.
- Parameters
levelName – string representing the level to analyse
- Returns
boolean which give the answer
- verbose(sMsg, sVarMsg='')
Verbose level
- warn(sMsg, sVarMsg='')
Warn