use of alma.maci.loggingconfig.UnnamedLogger in project ACS by ACS-Community.
the class LogConfigTest method testDynamicChanges.
/**
* Tests runtime changes as they could happen via the {@linkplain LoggingConfigurable} API.
*/
public void testDynamicChanges() throws Exception {
logger.info("============ Running testDynamicChanges ============");
// the default log levels from schema defaults and optional env var setting
AcsLogLevelDefinition defaultMinLogLevel = logConfig.getDefaultMinLogLevel();
AcsLogLevelDefinition defaultMinLogLevelLocal = logConfig.getDefaultMinLogLevelLocal();
// change the default log levels
AcsLogLevelDefinition newDefaultLevel = defaultMinLogLevel.getNextHigherLevel();
assertNotNull(newDefaultLevel);
logConfig.setDefaultMinLogLevel(newDefaultLevel);
assertSame(newDefaultLevel, logConfig.getDefaultMinLogLevel());
assertSame(defaultMinLogLevelLocal, logConfig.getDefaultMinLogLevelLocal());
newDefaultLevel = newDefaultLevel.getNextHigherLevel();
assertNotNull(newDefaultLevel);
logConfig.setDefaultMinLogLevel(newDefaultLevel);
logConfig.setDefaultMinLogLevelLocal(newDefaultLevel);
assertSame(newDefaultLevel, logConfig.getDefaultMinLogLevel());
assertSame(newDefaultLevel, logConfig.getDefaultMinLogLevelLocal());
// restore initial values
logConfig.setDefaultMinLogLevel(defaultMinLogLevel);
logConfig.setDefaultMinLogLevelLocal(defaultMinLogLevelLocal);
// named logger levels
String knownLoggerName = "knownLogger";
// now the logger is known, even though it has default values
UnnamedLogger knownLoggerConfig = logConfig.getNamedLoggerConfig(knownLoggerName);
assertEquals(defaultMinLogLevel, AcsLogLevelDefinition.fromXsdLogLevel(knownLoggerConfig.getMinLogLevel()));
assertEquals(defaultMinLogLevelLocal, AcsLogLevelDefinition.fromXsdLogLevel(knownLoggerConfig.getMinLogLevelLocal()));
Set<String> loggerNames = logConfig.getLoggerNames();
assertEquals(1, loggerNames.size());
assertTrue(loggerNames.contains(knownLoggerName));
String unknownLoggerName = "unknownLogger";
// first encounter with this logger when setting its levels
logConfig.setMinLogLevel(AcsLogLevelDefinition.DEBUG, unknownLoggerName);
loggerNames = logConfig.getLoggerNames();
assertEquals(2, loggerNames.size());
assertTrue(loggerNames.contains(knownLoggerName));
assertTrue(loggerNames.contains(unknownLoggerName));
// make sure that returned objects are not "live" for the logConfig data
knownLoggerConfig = logConfig.getNamedLoggerConfig(knownLoggerName);
UnnamedLogger knownLoggerConfig2 = logConfig.getNamedLoggerConfig(knownLoggerName);
assertNotSame(knownLoggerConfig, knownLoggerConfig2);
newDefaultLevel = newDefaultLevel.getNextHigherLevel();
assertNotNull(newDefaultLevel);
knownLoggerConfig.setMinLogLevel(newDefaultLevel.toXsdLevel());
assertSame(defaultMinLogLevel, logConfig.getDefaultMinLogLevel());
newDefaultLevel = newDefaultLevel.getNextHigherLevel();
assertNotNull(newDefaultLevel);
logConfig.setDefaultMinLogLevel(newDefaultLevel);
assertEquals(defaultMinLogLevel, AcsLogLevelDefinition.fromXsdLogLevel(knownLoggerConfig2.getMinLogLevel()));
}
use of alma.maci.loggingconfig.UnnamedLogger in project ACS by ACS-Community.
the class AcsAlarmSystem method set_logLevels.
/**
* Sets log levels for a particular named logger. If levels.useDefault is
* true, then the logger will be reset to using default levels; otherwise it
* will use the supplied local and remote levels.
*/
public void set_logLevels(String logger_name, LogLevels levels) throws LoggerDoesNotExistEx, IllegalLogLevelsEx {
if (levels.useDefault) {
logConfig.clearNamedLoggerConfig(logger_name);
} else {
try {
UnnamedLogger config = AcsLogLevelDefinition.createXsdLogLevelsFromIdl(levels);
logConfig.setNamedLoggerConfig(logger_name, config);
} catch (AcsJIllegalArgumentEx ex) {
//throw ex.toIllegalArgumentEx();
IllegalLogLevelsEx ille = new IllegalLogLevelsEx(ex.getErrorDesc());
throw ille;
}
}
}
use of alma.maci.loggingconfig.UnnamedLogger in project ACS by ACS-Community.
the class AcsAlarmSystem method get_logLevels.
/**
* Gets log levels for a particular named logger. If the returned field
* LogLevels.useDefault is true, then the logger uses the default levels,
* see get_default_logLevels(); otherwise the returned local and remote
* levels apply.
* <p>
* For possible convenience, the default levels are returned in addition to
* setting {@link LogLevels#useDefault} to <code>true</code>.
*/
public LogLevels get_logLevels(String logger_name) throws LoggerDoesNotExistEx {
UnnamedLogger xsdLevels = logConfig.getNamedLoggerConfig(logger_name);
boolean useDefault = !logConfig.hasCustomConfig(logger_name);
LogLevels ret = AcsLogLevelDefinition.createIdlLogLevelsFromXsd(useDefault, xsdLevels);
return ret;
}
use of alma.maci.loggingconfig.UnnamedLogger in project ACS by ACS-Community.
the class AcsContainer method set_logLevels.
/**
* Sets log levels for a particular named logger. If levels.useDefault is
* true, then the logger will be reset to using default levels; otherwise it
* will use the supplied local and remote levels.
*/
public void set_logLevels(String logger_name, LogLevels levels) throws LoggerDoesNotExistEx, IllegalLogLevelsEx {
tryToWaitForContainerStart();
if (levels.useDefault) {
logConfig.clearNamedLoggerConfig(logger_name);
} else {
try {
UnnamedLogger config = AcsLogLevelDefinition.createXsdLogLevelsFromIdl(levels);
logConfig.setNamedLoggerConfig(logger_name, config);
} catch (AcsJIllegalArgumentEx ex) {
//throw ex.toIllegalArgumentEx();
IllegalLogLevelsEx ille = new IllegalLogLevelsEx(ex.getErrorDesc());
throw ille;
}
}
}
use of alma.maci.loggingconfig.UnnamedLogger in project ACS by ACS-Community.
the class LaserComponent method get_logLevels.
/**
* Gets log levels for a particular named logger. If the returned field
* LogLevels.useDefault is true, then the logger uses the default levels,
* see get_default_logLevels(); otherwise the returned local and remote
* levels apply.
* <p>
* For possible convenience, the default levels are returned in addition to
* setting {@link LogLevels#useDefault} to <code>true</code>.
*/
public LogLevels get_logLevels(String logger_name) throws LoggerDoesNotExistEx {
UnnamedLogger xsdLevels = logConfig.getNamedLoggerConfig(logger_name);
boolean useDefault = !logConfig.hasCustomConfig(logger_name);
LogLevels ret = AcsLogLevelDefinition.createIdlLogLevelsFromXsd(useDefault, xsdLevels);
return ret;
}
Aggregations