def get_default_logLevels(self): # pragma: NO COVER ''' Retrieve the default log levels used in this container. Returns: maci.LoggingConfigurable.LogLevels instance containing default log level values Raises: Nothing ''' return Log.getDefaultLevels()
def configureComponentLogger(self, name): ''' Configure the logger for the given component name from the values in the CDB. Parameters: name is the name of the component ''' # Each component has an associated logger instance clogger = Log.getLogger(name) # Default levels are used for missing values defaultlevels = Log.getDefaultLevels() try: #Get the global unnamed logging config to retrieve the maxLogsPerSecond attribute logconfigG = self.cdbAccess.getElement("MACI/Containers/" + self.name + "/LoggingConfig", "LoggingConfig") maxLogsPerSec = int(logconfigG[0]['maxLogsPerSecond']) except (Exception): # No value was supplied so default is used maxLogsPerSec = -1 try: # Process all the named logger configurations logconfig = self.cdbAccess.getElement("MACI/Containers/" + self.name + "/LoggingConfig", "LoggingConfig/log:_") for cfg in logconfig: if cfg["Name"] == name: try: centrallevel = int(cfg['minLogLevel']) except KeyError: # No value was supplied so default is used centrallevel = defaultlevels.minLogLevel try: locallevel = int(cfg['minLogLevelLocal']) except KeyError: # No value was supplied so default is used locallevel = defaultlevels.minLogLevelLocal clogger.setLevels(maci.LoggingConfigurable.LogLevels(False, centrallevel, locallevel)) clogger.configureLogging(maxLogsPerSec) # There should only be one entry per logger so we are done break else: # No matching named logger was found so the default values are used clogger.setLevels(maci.LoggingConfigurable.LogLevels(True, 0, 0)) except Exception: # No named loggers were defined so the default values are used clogger.setLevels(maci.LoggingConfigurable.LogLevels(True, 0, 0))