use of org.apache.storm.utils.Time.SimulatedTime in project storm by apache.
the class LogConfigManagerTest method testLogResetResetsRootLoggerIfSet.
@Test
public void testLogResetResetsRootLoggerIfSet() {
try (SimulatedTime t = new SimulatedTime()) {
long past = Time.currentTimeMillis() - 1000;
TreeMap<String, LogLevel> config = new TreeMap<>();
config.put(LogManager.ROOT_LOGGER_NAME, ll("DEBUG", "WARN", past));
AtomicReference<TreeMap<String, LogLevel>> atomConf = new AtomicReference<>(config);
LogConfigManager underTest = spy(new LogConfigManagerUnderTest(atomConf));
underTest.resetLogLevels();
assertEquals(new TreeMap<>(), atomConf.get());
verify(underTest).setLoggerLevel(anyObject(), eq(LogManager.ROOT_LOGGER_NAME), eq("WARN"));
}
}
use of org.apache.storm.utils.Time.SimulatedTime in project storm by apache.
the class LogConfigManagerTest method testProcessRootLogLevelToDebugSetsLoggerAndTimeout2.
@Test
public void testProcessRootLogLevelToDebugSetsLoggerAndTimeout2() {
try (SimulatedTime t = new SimulatedTime()) {
LogConfig mockConfig = new LogConfig();
AtomicReference<TreeMap<String, LogLevel>> mockConfigAtom = new AtomicReference<>(null);
long inThirtySeconds = Time.currentTimeMillis() + 30_000;
mockConfig.put_to_named_logger_level("ROOT", ll("DEBUG", inThirtySeconds));
LogConfigManager underTest = spy(new LogConfigManagerUnderTest(mockConfigAtom));
underTest.processLogConfigChange(mockConfig);
// test that the set-logger-level function was not called
LOG.info("Tests {}", mockConfigAtom.get());
verify(underTest).setLoggerLevel(anyObject(), eq(""), eq("DEBUG"));
LogLevel rootResult = mockConfigAtom.get().get(LogManager.ROOT_LOGGER_NAME);
assertNotNull(rootResult);
assertEquals(LogLevelAction.UPDATE, rootResult.get_action());
assertEquals("DEBUG", rootResult.get_target_log_level());
// defaults to INFO level when the logger isn't found previously
assertEquals("INFO", rootResult.get_reset_log_level());
assertEquals(inThirtySeconds, rootResult.get_reset_log_level_timeout_epoch());
}
}
Aggregations